Melbourne five-eighth Blake Green grubbered a kick straight into the waiting arms of halfback Moses Mbye, who couldn't be caught in a 90m race to the line.
Winger Sam Perrett extended the lead when he leapt high over Marika Koroibete to take a Josh Reynolds' high ball.After two close attempts the Storm finally broke through the Bulldogs' steely defence when they took advantage of repeat sets to send Tohu Harris crashing over.
The sides went into half-time at 12-8 and Melbourne matched the Bulldogs early in the second half when winger Young Tonumaipea had two grabs at a Cooper Cronk kick before he managed to ground the ball.
But the Bulldogs came again with centre Kerrod Holland scoring his first NRL try.
Holland also kicked three conversions from as many attempts.Storm coach Craig Bellamy rated it as one of their best performances of the year and said that against any other side they probably would have finished with a win.
"I thought our performance was pretty good so it's frustrating to play like that and lose," Bellamy said.
"We would have won most things stats-wise except for on the scoreboard.
"We had plenty of ball up in that 20m zone; we just need to get better up there as we're lacking a bit of finish and timing but I couldn't fault our effort."
The Bulldogs now have three wins against their three losses, pleased to rebound from a shock loss to the Raiders last round.
Coach Des Hasler said their improved defence was key.
"It's always tough playing Melbourne in Melbourne and we had to graft one out," Hasler said."
They had a lot of the field position and momentum but our defensive effort was pretty brave to keep turning them away."It's an important two points at this stage of the season."
- AAP