Batting first, Riders posted 158/5, recovering from a shaky start. Soumya Sarkar struck four sixes in his 36 off 28 before falling to Shakib Al Hasan.
Captain Nurul Hasan (34* off 18) and Iftikhar Ahmed (41* off 32) added an unbeaten 54-run stand to give Rangpur a competitive total.
Dubai's chase faltered despite late fireworks from Qais Ahmed, who brought the equation down to 9 off 8 balls. But Omarzai dismissed him in the 19th over, and Khaled Ahmed sealed the win in the final over by removing Dominic Drakes.
Saif Hassan and Rakibul Hasan starred with the ball in the middle overs, while Mayers, Iftikhar, Omarzai, and Khaled controlled the powerplay and death effectively.
Rangpur Riders, with three wins from three, face Central Stags on Thursday before contesting the final on 19 July.