Jason Spezza gave Ottawa the lead 1:07 in with his 10th goal of the season, but Carolina scored three times in the second period.
Dwyer got his third goal of the season with a stinging shot inside the upper far post from the right circle at 3:10 to tie it.
Three minutes later Ruutu gave Carolina a 2-1 lead, and midway through the period Lindholm, a rookie, scored on the power play for the Hurricanes.
Ottawa goalie Robin Lehner was solid except for the 6-minute stretch in the second period, finishing with 33 saves.
NOTES - Carolina LW Jirii Tlusty played his 300th NHL game. ... Staal extended his point streak to six games. ... Ottawa C Mika Zibanejad has three points (1g, 2a) in his last three games. ... The Senators played their 1,600th game in franchise history.