Ellis, making only his second start of the season in place of Cam Ward, earned his 13th career shutout and first since Nov. 9, 2010, against Toronto when he was with Tampa Bay.
Carolina improved to 9-0-1 in its last 10 home games against the Senators.
Ottawa came in with a 5-1-1 record but struggled to generate many scoring chances. Jason Spezza underwent surgery on a herniated disc in his back earlier Friday, and the Senators could be without their No. 1 center for up to two months.
Craig Anderson made 34 saves for Ottawa, which was trying to win its third game in four nights. Anderson has allowed only seven goals in seven games and entered the game leading the NHL in save percentage.
Staal took advantage of a strong effort by Alexander Semin to score his goal.
Skating along the boards, Semin maneuvered around several Ottawa players before cutting toward the center of the ice. He then shot the puck into traffic in front of the net, and Staal managed to tip it over Anderson's shoulder.
The Hurricanes signed Semin to a one-year contract in the offseason with the idea of pairing him with Staal.
Carolina's Jeff Skinner almost scored midway through the second when he hit the crossbar from just outside the crease.
The Hurricanes' power play continued to struggle, squandering all four chances. Carolina is 3-for-30 on the season.
The Senators had been 4-1-1 this season when allowing opponents to score first.
NOTES: The Hurricanes begin a season-high six-game road trip Saturday at Philadelphia. . Carolina D Justin Faulk returned to the Hurricanes' lineup after missing one game with an upper-body injury. . Ottawa D Sergei Gonchar returned to the Senators lineup after missing one game with a lower-body injury.