Jeff Shattler, Daryl Veltman, Shawn Evans and Scott Ranger each had two-goal games for the Roughnecks (3-2), who have now won nine straight regular season games against Edmonton. Joe Resetarits, Curtis Dickson and Jon Harnett had the additional Calgary goals.
The Roughnecks have now won three games in a row this season, all on the road.
Ryan Ward and Jeremy Thompson each had three-goal performances for the Rush (1-3), who have lost all three of their home games this season. Corey Small, Mark Matthews and Zack Greer had two goals each for Edmonton.
Also scoring for the Rush were John Lafontaine, Alex Turner and Jarrett Davis.
The Rush closed to within one goal with just two minutes remaining in the fourth quarter on Matthews' second of the game.
However, Calgary got the insurance goal they needed as Harnett scored into an empty net with one minute to play to make it 17-15 and Snider added an additional empty-net goal.
Calgary hit the scoreboard first, just a minute and a half into the opening quarter, as Shattler's long shot handcuffed Edmonton goalie Aaron Bold.
The teams traded goals before Veltman struck on the power play six minutes in to make it 3-1 for the Roughnecks.
However, the Rush came storming back with a barrage of goals, scoring five times in a span of just over three minutes to take a 6-3 lead. Greer had two of the five goals on Calgary goalie Mike Poulin during the run.
The Roughnecks kept the game from getting out of hand with goals eight seconds apart to close out the first quarter trailing 6-5.
Calgary tied the game early in the second quarter on Shattler's second of the contest.
Edmonton got one back on Ward's second of the game before Calgary struck for a pair of quick goals by Dobbie to lead 8-7.
The Rush responded with a goal by Thompson before Evans scored to put his team back in the lead and chased Bold from the Edmonton net, as Brodie MacDonald came in as his replacement.
Edmonton jumped back in front of goals by Ward and then by Small, who scored in his 42nd consecutive game.
The Roughnecks tied the game 10-10 just before the half on a beautiful grab off the boards and spin shot by Dobbie, who scored his hat-trick goal shorthanded.
Calgary retook the lead by a goal and were looking for more early in the third but Dickson was stopped on a penalty shot by MacDonald, leading to an Edmonton goal to tie it up just seconds later by Thompson.
Matthews put the Rush back in the lead with five minutes gone in the third on a leaping highlight reel wraparound goal from behind the net to make it 12-11.
Calgary once again surged ahead with three consecutive goals, including a pair of power-play scores by Ranger to lead 14-12 with five minutes left in the third quarter.
It took 10 minutes for a another goal, but it was once again from the stick of a Calgary player as Snider scored his second of the game on a breakaway.
Calgary took a four-goal lead before Edmonton attempted to make a game out of it with five minutes left on a Davis power-play goal and then two minutes later on Small's second of the game to make it 16-14.
The two teams face each other again in a rematch next Saturday in Calgary.
Notes: It was the first of four meetings between the two teams this season… The Roughnecks have owned the regular season against the Rush in all-time, coming into the game with a record of 20-4 against Edmonton. However, the Rush had won the last two playoff games over Calgary… Roughnecks forward Shawn Evans had 13 goals and 31 points in his first four games to be named the NLL player of the month for January… First overall 2012 NLL draft pick Mark Matthews also eared a league honour for January as the league's top rookie with eight goals and 19 points in his first three games as a pro… The two Alberta rivals have instituted a new wrinkle for this season, playing for the Homes by Avi Battle of Alberta Lacrosse Cup during their four regular season games against each other… Earlier in the week the Rush released forward Tom Johnson in order to make room for defender Michael Cudmore, a second-round pick (15th overall) this summer… Roughneck Geoff Snider is having a strong season as he came into the match-up leading the NLL with 11 forced turnovers, and was ranked second in both loose balls (56) and faceoff wins (84).