Nurse had a goal and an assist, and Ryan Nugent-Hopkins scored for the Oilers (23-12-3), who have won two in a row. Stuart Skinner made 27 saves.
Oilers captain Connor McDavid had his 12-game point streak end (23 points; three goals, 20 assists).
“A much better team effort,” Nurse said, referring to a 5-3 loss in Anaheim on Dec. 28. “It wasn’t perfect by any means -- when you have those leads you want to make sure that you bring them home -- but when we were challenged at the end, we found a way to get that final blow.”
Brett Leason and Jackson LaCombe scored and Dostal made 23 saves for the Ducks (16-18-4), who had won three in a row after a 4-3 overtime victory against the Winnipeg Jets on Thursday.
“I thought we played well, it’s a great team we played against and the second of a back-to-back is tough, especially against Winnipeg in the first game,” LaCombe said. “I thought our team did a great job battling all night.
“We kind of slowed down in the second, but I thought we picked it up in the third and it was a close game. But I thought we did great.”
Nugent-Hopkins put the Oilers ahead 1-0 at 16:54 of the first period, taking a sharp-angle shot from the bottom of the left circle that deflected in off the stick of LaCombe.
Nurse made it 2-0 at 7:57 of the second period after Jeff Skinner found him in the high slot for a wrist shot that beat Dostal high stick side.
“There is no quit in this group. I think we have a lot of third-period comebacks and it just shows that everybody is going to fight until the very end,” Leason said. “Obviously, they got one late and we couldn’t do it tonight, but we competed hard, and we were a few bounces from winning this game.
“We had a few breakaways where we could have scored and a couple of posts we hit.”