Smith broke the deadlock with a penalty goal in the 49th minute and then Storm centre Cheyse Blair made a crucial strip on Cowboys five-eighth Michael Morgan, with prop Jesse Bromwich burrowing over in the following set to make it 14-6.
It looked like the home side would take control of the match but Morgan made amends soon after when he fired a ball to winger Kyle Feldt, who dived over in the corner.
Johnathan Thurston failed to convert to leave the score at 14-10.
That was extended by Smith with Feldt giving away a silly penalty as he tackled Blair.
The Storm dominated early, throwing everything at their rivals.
After 20 minutes, they had had 64 per cent of possession and 73 per cent of territory but couldn't crack the North Queensland defence until the 32nd minute.
Winger Suliasi Vunivalu collected his 23rd try of the season when he pounced on a ball lost by Cowboys centre Kane Linnett.
The flying Fijian turned on the jets to run 60 metres, burning off Thurston to touch down.
However, the Cowboys then gained some momentum which paid off in the final minute of the half with a kick by Thurston ricocheting off a Storm player. It was scooped up by Lachlan Coote, who found Antonio Winterstein in the corner.
- AAP