"We're playing better," MacTavish said. "This was a really solid game for us. It was another one-goal win but at the same time it wasn't indicative of some of the other ones where we are trying to hang on at the end. We had lots of chances in the third period to widen the lead.
"It's as complete a game as we have played from start to finish this season, he said."
The Oilers (21-21-4) moved back to the .500 mark and have a winning record at home after taking the first four of a five-game homestand.
"This was a big step for us," Horcoff said. "We had won three in a row and we could have had a real letdown if we had come out and had a bad effort against these guys. We need wins. We need to go on a roll. And we came out and played hard and it was a good result for us."
It was the third loss in a row for the Flames following a five-game winning streak.
Daymond Langkow had the lone goal for Calgary.
"In our last few games, let's be honest, we've slipped a bit and we have to get back at it," Calgary captain Jarome Iginla said.
The Oilers took a 1-0 lead eight minutes in when Jarret Stoll's point shot caromed off the boards behind the net straight to the stick of Horcoff. He swept in his 19th of the season, past Calgary goaltender Miikka Kiprusoff during a power play.
Edmonton had 11 first-period shots, and Calgary put eight on Oilers goalie Mathieu Garon.
The Oilers stretched their lead 35 seconds into the second period on a tremendous effort by Hemsky. He danced around Flames defenseman Robyn Regehr and then deked Kiprusoff before putting a backhander into the net to make it 2-0.
"We all saw the irony in that," MacTavish said. "Regehr roughs him up a bit after a whistle and 15 seconds later he's past him and it's in the net."
Calgary got on the board three minutes into the third. Garon allowed a big rebound on Iginla's shot, and Langkow was there to pick it up and backhand a shot through the legs of Steve Staios.
The Flames applied some late pressure but Garon proved to be up to the task, stopping 27 shots to preserve the victory.
"It was a huge win," said Garon, who made his sixth straight start and has eclipsed Dwayne Roloson as Edmonton's main goaltender. "We wanted to win as much as possible on this homestand and right now we are doing a really good job. I think the way everyone is playing, there is so much confidence right now."
|Ales Hemsky and Shawn Horcoff are a formidable duo vs. Calgary, accounting for both the Oilers' goals. (AP)|
|Edmonton (21-21-4) «||1||1||0||2|
Save Pct.: .964
Save Pct.: .935
Flames 30th Anniversary Collectible Logo Patch Shop Now!
|08:04||Power Play - Shawn Horcoff (19), Wrist Shot. Assist: Jarret Stoll, Ales Hemsky|
|35.0||Ales Hemsky (12), Backhand Shot. Assist: Shawn Horcoff, Dustin Penner|
|03:09||Daymond Langkow (17), Wrist Shot. Assist: Jarome Iginla, Anders Eriksson|
|01:23||Grebeshkov, 2 min, Hooking|
|07:50||Eriksson, 2 min, Holding|
|17:01||Stortini, 2 min, Bench - Too Many Men on the Ice|
|58.0||Stortini, 2 min, Interference|
|04:40||Pitkanen, 2 min, Bench - Too Many Men on the Ice|
|19:24||Staios, 2 min, Hooking|
|Shots On Goal|
|Attendance - 16839|
|Referees - Mike Leggo, Dan O'Rourke|
|Linesmen - Don Henderson, Mark Wheler|