The Senators snapped a three-game skid and improved their playoff positioning with the help of Milan Michalek, who provided a goal and two assists.
Nick Foligno supplied three assists for the Senators, who came into the contest one point behind first-place Boston in the Northeast Division with six games remaining.
Ottawa cooled off the Penguins, who had won 13 of 14 games previously.
Ben Bishop started in goal for Pittsburgh, yielding three scores on 20 shots before leaving in the second period with a lower-body injury.
Craig Anderson stopped 19-of-20 the rest of the way.
Matt Cooke notched a pair of goals and rookie goalie Brad Thiessen surrendered all eight goals on 28 shots for Pittsburgh.
The setback put the Penguins three points behind the New York Rangers for the top spots of the Atlantic Division and Eastern Conference.