EDMONTON, Alberta (AP) -- The Phoenix Coyotes almost gave away a game by believing it was in the bag.
Mike Ribeiro had a goal and an assist and Mike Smith made 36 saves to help the Coyotes hold off the Edmonton Oilers 4-3 on Friday night.
Mikkel Boedker, Radim Vrbata and Derek Morris also scored as Phoenix raced to a 4-0 lead early in the second period. But then the momentum shifted and the Coyotes found themselves hanging on to earn two points.
''They kept coming and we let them back into it,'' Phoenix captain Shane Doan said. ''We talked about getting that fourth one, we got the fourth one and then we kind of eased up. We have to keep going. We can't afford to do that.''
Phoenix improved to 4-0 in the five-game season series with its eighth victory in the last nine trips to Edmonton. The Coyotes have won five straight and 10 of 12 overall against the Oilers.
The Coyotes improved to 24-18-9 this season, ending a two-game losing streak and a five-game road skid. Phoenix coach Dave Tippett, however, said his team was fortunate the lead wasn't erased altogether.
''Once the score got up 4-0, we made a couple of mistakes, we let them back in the game and made it tight,'' he said. ''I thought we played well for 30 minutes and for the next 30 minutes we hung on.
''Coming out of the third period with a lead like that on the road, you should really salt that game away. It's not that we took our foot off the gas, it's the puck mistakes, the penalties, those kind of things. Things that real good teams don't do, and those are still things that are a work in progress for our group.''
Matt Hendricks, David Perron and Ryan Nugent-Hopkins scored for Edmonton. The Oilers have lost six in a row for the second time this season to drop to 15-32-6. Three points ahead of last-place Buffalo, the Oilers have only two wins in their last 13 games.
''It's been a common theme this year, our consistency,'' Nugent-Hopkins said. ''We might play good for the first period and then sag in the second and play good in the third. We have to find a way to stop doing that. We are killing ourselves with efforts like that, not playing a full game.''
The Coyotes opened the scoring with 5:43 left in the first period when Antoine Vermette made a cross-ice pass and Boedker beat goalie Ilya Bryzgalov with a wrist shot to the top corner for his 15th goal.
Phoenix took a two-goal lead with 2:50 left in the period after some quick passing allowed Martin Hanzal to put it in front to Vrbata for a power-play goal.
Just more than a minute later, Morris fired a shot that beat Bryzgalov to the glove side.
''We talked about after the first that they had the firepower to come back in the game,'' Vrbata said. ''They almost did. We have to learn from that. Even at 4-0 the game is not over. You have to play until the end.''
The Coyotes made it 4-0 early in the second period on Ribeiro's tip. Smith assisted on the goal.
''When you get down in a game like that, it can go one way or another,'' Oilers coach Dallas Eakins said. ''The guys can dig their heels in and fight for each other or the game can go really badly. Our guys hung in with it. It was great to see, but it is also disappointing how you can lose a game by playing poorly for 3 minutes.''
Edmonton finally got on the board with 6:43 left in the second when Hendricks redirected Ryan Jones' shot past Smith for his first goal in four games with the Oilers after a trade with Nashville.
The Oilers made it 4-2 just 1:50 into the third when Perron lifted a backhander past Smith for his team-leading 19th goal. Edmonton cut it to one at 7:50 on Nugent-Hopkins' quick shot.
''It's almost like we put ourselves in a situation where we have nothing to lose and that's when we start playing,'' said Jones, who got his 100th NHL point. ''We have to come out like that right from the start, obviously.''
Notes: Oilers captain Andrew Ference left with a head injury and did not return. ... Edmonton winger Nail Yakupov returned to the lineup after missing two games because of a head injury. ... Coyotes center Martin Hanzal (lower body) and defenseman David Schlemko (upper body) were back on the ice after missing Wednesday's game against Calgary.