The hosts restricted the Kiwis to a modest 139 for seven following a fiery spell of fast bowling by Shukla and then overhauled the target with five balls to spare.
Shukla, who was included in place of Vikramjeet Malik, was called on to bowl fourth over of the innings and he removed Hamish Rutherford (11) with his first ball, skipper McCullum (0) with third and Derrek de Boorder (0) on fifth.
The saving grace of the Otago innings was a 53-run stand for the fifth wicket between James Neesham (32) and Ryan ten Doeschate (26) which gave a little respectability to visitors.
Down the order Nathan McCullum (28) and Ian Butler (25) added some useful runs.
Royals' 12th victory on the trot at home ensured that Royals finished atop on Group A with 16 points and will now play their semifinal at home.
Royals wins also keeps Mumbai Indians in hunt for the semifinals. Mumbai are third in the table with six points behind Volts (10). Mumbai now need to win tomorrow's match against Perth Scorchers and also have a better Net-Run-Rate.
The hosts were struggling at 72 for four after a mid-innings collapse but Hodge smashed his way to an unbeaten 52 off 23 balls to script the win.
Hodge hit three sixes and five fours and completed his half-century and team's win with a cover drive off Ian Butler.
Before Hodge arrived on the scene, opener Ajinkya Rahane hit a measured 52 off 48 balls to stabilise the innings. Hodge and Rahane formed a 44-run stand for fifth wicket to repair the damage.
After Rahane's departure, the veteran Australian single handedly took the side to victory in an exciting finish.
Rajasthan Royals: Rahul Dravid (C), Ajinkya Rahane, Sanju Samson, Shane Watson, Stuart Binny, Brad Hodge, Ashok Menaria, James Faulkner, Kevon Cooper, Ragul Shukla and Pravin Tambe.
Otago team: Brendon McCullum (C), Hamish Rutherford, Neil Broom, Ryan ten Doeschate, James Neesham, Nathan McCullum, Derek de Boorder, Ian Butler, N Wagner, Neil, Beard and James McMillan.


Latest News from Sports News Desk