"Rolly gave us the chance to win the game," Edmonton coach Craig MacTavish said. "His play in the first 10 minutes of the third period got us the win."
Smyth and Horcoff scored 30 seconds apart in the third period to help Edmonton get the win, its third in four games. Ales Hemsky added a goal, and Smyth and Horcoff also each had an assist.
"I did what I had to do," said Roloson, who made 37 saves to end his three-game losing streak. "You expect them to come at you hard in the third period, and they did."
Brad Richardson and Joe Sakic scored for Colorado, and Peter Budaj stopped 25 shots, while making his 15th start in 16 games.
The teams began the day tied for last place in the Northwest Division.
"This was reminiscent of a lot of points we've left on the table earlier in the year," said Colorado coach Joel Quenneville.
Colorado outshot the Oilers and had two power plays in the first eight minutes of the third period, but the Avalanche couldn't capitalize as Roloson and the Oilers killed both penalties. The Edmonton offence took over in the final eight minutes.
Roloson was at his best six minutes into the period when he denied Ian Laperriere twice from point-blank range.
"Rolly was outstanding, making some brilliant saves when they had all kinds of opportunities," MacTavish said. "He kept it tied at one until we got our offence going."
Smyth deflected a shot from the right point by Matt Greene at 12:49, and then Horcoff converted Smyth's pass from behind the net at 13:19.
"We were buzzing in the first two periods, but couldn't find a goal," Horcoff said. "To get those two goals really put them into a tough situation and gave us a little bit of a cushion."
Sakic scored in the final 31 seconds after Colorado pulled Budaj. It was Sakic's 596th career goal.
The Avalanche led 1-0 after one period on Richardson's sixth goal of the year. Richardson got the puck in front of the net when Petr Sykora fanned on Mark Rycroft's pass and swatted it past Roloson at 12:49.
Edmonton controlled play in the second period and tied it at one at 12:10 on Hemsky's power-play goal. Hemsky sent a wrist shot through a screen from the left circle.
"It's a disappointing game because we played better than them," Budaj said. "It's critical, but we do not need to panic."
Notes: Horcoff played in his 400th game. ... The Oilers played without C Jarret Stoll, who suffered a concussion in Thursday's loss at Vancouver. ... Colorado's Ian Laperriere and Edmonton's Matt Greene exchanged punches midway through the first period. ... Colorado D John-Michael Liles (broken foot) will be re-examined Monday.