A big second half from the home side saw them move to within one win of a grand final berth, as North Queensland will now host Brisbane next weekend in a rematch of last year's decider.
An early second half try to prop Jesse Bromwich would give the Storm a lead they wouldn’t relinquish, as the Storm would quash the demons of last year's preliminary final loss to the Cowboys.
The opening 40 turned out to be a game of two halves, as Melbourne took it to the Cowboys from the outset and dominated the opening 20 minutes.
Cameron Smith needed just two sets to stamp his mark on this contest, as the Storm skipper kicked a very early 40/20.
Melbourne would force a goal-line dropout from the resulting set, and it would begin a strong period of fantastic defence from the visitors.
North Queensland didn’t do themselves any favours though and only fuelled the Storm's attacking fire, as two errors in three minutes inside their own half kept the Cowboys on their own line.
The visitors were yet to concede and hooker Jake Granville would ease all the pressure on his teammates, as a try-saving tackle on Jordan McLean forced the forward to knock the ball on after another promising run.
After the Storm couldn’t take advantage of their dominance it was time for the Cowboys to have their share of the possession, as four goal-line dropouts in a row had the home side well and truly on the back foot.
Grubbers from Johnathan Thurston and Jake Granville kept the Storm backline on their toes, but Suliasi Vunivalu finally gave his side a break after recovering a kick in the field of play.
The Storm would wrestle back the ascendency and put the first points on the board, as a penalty goal to Cameron Smith broke the deadlock.
Just three minutes later the game would see its first try, as Vunivalu broke away for an impressive solo effort.
Dale Finucane forced an error on tackle five and the ball bobbled to Vunivalu, who after breaking the initial tackle was in clear space and just had Thurston to beat before planting the ball down.
The Storm were all set to take a 6-0 lead into half-time, but the final play of the opening half would see the Cowboys level the scores.
A grubber kick was blocked by Cooper Cronk and would bounce to Lachlan Coote, and the halfback swiftly picked the ball up and gave it off to Antonio Winterstein who found himself through in the corner.
Thurston converted from the sideline and the teams couldn’t be split at half-time.
It was more of the same hard-fought contest to begin the second half, and Cameron Smith gave his side the lead once again through a penalty goal inside the opening minutes.
Melbourne's second try of the game would come soon after, as Jesse Bromwich powered his way over the line to give the Storm some breathing space on the scoreboard.
The visitors would continue to fight for their way into the match, and they didn’t have to wait too long as the Storm gifted them the perfect opportunity.
Nelson Asofa-Solomona's late hit on Johnathan Thurston's final play bomb gave the Cowboys some brilliant field position, and when Kyle Feldt found himself over the line in the corner North Queensland were back within four points.
Thurston missed the conversion, but the AAMI Park crowd were in for an enthralling final 15 minutes.
The result was put to bed however with just five minutes remaining, as a penalty against Feldt gave Smith the chance to stretch the lead to six, and the inspirational Storm captain did just that.
Melbourne Storm 16 (Suliasi Vunivalu, Jesse Bromwich tries; Cameron Smith 4 goals)defeated North Queensland Cowboys 10 (Antonio Winterstein, Kyle Feldt tries; Johnathan Thurston 1 goal) at AAMI Park. Half time: 6-all. Crowd: 21,233.