Marcus Pettersson had a goal and two assists, and Evgeni Malkin had a goal and an assist for the Penguins, who had lost two in a row. Casey DeSmith made 33 saves and started five of the final six games in place of Tristan Jarry, who could be out with a lower-body injury to start the playoffs.
J-F Berube allowed three goals on eight shots before being pulled in the first period for the Blue Jackets (37-38-7), who lost six of their final eight games and did not qualify for the playoffs. Elvis Merzlikins made 40 saves in relief after making 25 in a 5-2 win against the Tampa Bay Lightning on Thursday.
"In an overview of the growth of our group, the younger players, some guys had some great years," Columbus coach Brad Larsen said. "Some guys had some downs, some ups and downs. That's an NHL season. That's what happens in 82 [games]."
Malkin gave the Penguins a 1-0 lead at 3:51 of the first period, tapping in a rebound of his own wrist shot. It was his 20th goal in 41 games this season after returning Jan. 11 from offseason knee surgery.
Evan Rodrigues made it 2-0 at 5:31 on a wrist shot after Berube chipped the puck to him in the right face-off circle.
"It's the playoffs now," Rodrigues said. "You just have to play them hard and play playoff hockey."
Pettersson extended the lead to 3-0 at 6:26. Malkin carried the puck behind the net and passed to Pettersson for a one-timer before Berube was pulled.
The three goals came before Cole Sillinger had Columbus' first shot on goal at 8:20.
"It was our last chance to earn that confidence and just play the right way," Pettersson said. "I thought we did that in the start and it carried over."
Justin Danforth cut it to 3-1 at 10:25 of the second period, diving to poke in a loose puck.
"That's a great hockey team that's preparing to make a Cup run," Danforth said. "They needed these points tonight, so we knew they were going to be hungry. You could see we were a bit sluggish early on. They made us pay for it. Good teams do. We battled back. That goes to show our character."