Evgeni Malkin and David Perron scored for the Penguins, who improved to 12-6-5 on the road this season.
Viktor Fasth had 24 saves in the Oilers' second loss in three games.
After a scoreless first period in which there were few chances, Malkin got Pittsburgh on the scoreboard 24 seconds into the second. He picked up a loose puck during a scramble in front of the Oilers' net and slipped in his 20th goal of the season.
The Penguins doubled the lead with 0.4 seconds to go in the period as the rebound of Kris Letang's shot hit Perron on the way toward the net and caromed in.
RANGERS 3, BRUINS 2
NEW YORK (AP) — Cam Talbot made 18 saves in place of the injured Henrik Lundqvist, Rick Nash had a goal and an assist, and Derek Stepan snapped a second-period tie to lift the Rangers to their third straight win.
Talbot, whose previous start was a 3-0 loss at Boston on Jan. 15, got the nod after Lundqvist was forced to sit out by a neck injury caused when he was struck in the throat by a shot against Carolina on Saturday. Lundqvist is day to day.
Nash gave the Rangers a 1-0 edge in the first period with his NHL-leading 32nd goal, and Derick Brassard and Derek Stepan scored in the second.
Milan Lucic and Patrice Bergeron had goals in the first period for Boston, which was 8-1-1 in its previous 10. Tuukka Rask stopped 22 shots.
FLAMES 3, SHARKS 1
CALGARY, Alberta (AP) — Kris Russell scored his first goal of the season, Jonas Hiller stopped 28 shots, and Calgary improved to 4-1-0 on its six-game homestand.
Jiri Hudler and Mason Raymond also scored for the Flames.
John Scott scored for San Jose, which lost in regulation for the first time in its last five games (3-1-1).
Calgary opened the scoring at 9:28 of the second period when Russell's shot from inside the blue line was partially stopped by Alex Stallock but still squeaked through.
It was the first of three consecutive goals for the Flames, who led 3-0. Calgary moved from the second wild card spot in the Western Conference up to second place in the Pacific Division.