Tage Thompson and Casey Mittelstadt scored, and Dustin Tokarski made 38 saves for Buffalo (11-26-7). The loss eliminated the Sabres from playoff contention.
"We didn't get the result we wanted tonight, but I thought we played a really well-rounded game," Thompson said. "I think a couple of times we didn't get the puck in deep and make their [defense] turn, but I thought for the most part we worked really hard. I think that's the trend we've been seeing the last little while now. So it's good. I think we've got to learn from that and keep building."
McCann gave the Penguins a 1-0 lead at 10:30 of the first period when he got the rebound of Mike Matheson's shot and banked the puck off Tokarski from below the goal line.
"It may look like it's a lucky play, but it's real calculated play," Sullivan said. "And it's a heads-up play to try to take advantage of a goalie when he's in that situation, where he's got some separation from his post and there's some light there. He used the goalie himself to bank it off of and put it in the net. So I thought it was a real smart play on Jared's part."
Pittsburgh outshot Buffalo 12-6 in the first period.
"It was puck management initially," Sabres coach Don Granato said. "We were a little bit messy again, and it was just a process to get into the game for us for whatever reason. It took us a process to get into the game and absolutely part of it was a credit to them. They played hard, they closed ice well, specifically on entry. We complied too much on that. We needed to get pucks behind them a little bit, at least a little bit early to pressure, and we didn't do that."
Rodrigues made it 2-0 at 5:57 of the second period. Teddy Blueger intercepted a pass attempt by Dylan Cozens behind the net and sent the puck to Rodrigues in the bottom of the left circle.
Thompson got to a loose puck and scored from the slot to cut it to 2-1 at 6:41. Rust redirected a centering pass from Sidney Crosby at the top of the crease on the power play to push the lead to 3-1 at 12:15.
Mittelstadt scored a power-play goal with a one-timer from the slot to get Buffalo to within 3-2 at 11:44 of the third period.