It was a night for character more than flair. A week after the free-flowing win in Belfast, a swirling wind made fluent rugby almost impossible. This time Edinburgh had to grind out the result, and they did.
James Grayson used the wind early, landing a long-range penalty to put Edinburgh ahead. The stand-off, making his first Hive Stadium appearance since joining in the summer, controlled the game from 10 throughout.
Edinburgh pinned the visitors in their own half for long periods. They came closest just before the break, when Magnus Bradbury looked to have touched down from a driving lineout, but the score was ruled out for a double movement. It was 3-0 at half-time.
The second half needed something extra. The Stormers took a 6-3 lead with the wind at their backs, so Everitt sent on his replacements, and they changed the game.
Jerry Blyth-Lafferty burst through the Stormers defence and Paul Hill was there to finish. Grayson’s conversion put Edinburgh 10-6 ahead. Hill’s try was the first of the night, and it was scored by two of the replacement front-rowers, which said plenty about the strength of this squad.
The Stormers hit back with a Hacjivah Dayimani try to lead 13-10 with a quarter of an hour left. That was when the Hive crowd got louder, and the team responded.
Edinburgh pulled the defence in close, and Grayson spotted the space on the left and threw a long pass wide. McHaffie, who had come off the bench in the first half after Matt Currie’s head injury assessment, scooped up the bouncing ball and dived over in the corner.
Grayson added a fine conversion from the touchline to make it 17-13.
The visitors kicked a last-gasp penalty to the corner, but the Edinburgh pack won the lineout and the ball went dead to spark celebrations around the ground.
After two wins from two, Edinburgh share top spot in the URC table with Cardiff. Their next game is away to Zebre in Parma next weekend.