Opener Aryansh Sharma led from the front with an unbeaten 74 from 53 balls while Sohaib Khan struck a crucial 51 off 29 deliveries as UAE won with just two balls to spare.
It was not looking good for the Asian team as Canada spinner Saad Bin Zafar took 3-14 from his four overs to make early inroads into the batting line-up.
Sharma and Khan however put on a partnership of 84 from just 43 balls to turn the game into the UAE's favour.
Earlier Canada themsleves had to recover from being 38-3 in the sixth over to put on a total of 150-6.
Harsh Thaker, batting at number five, struck exactly 50 while Navneet Dhaliwal scored 34 from 28 balls.
Junaid Siddique was the hero with the ball for UAE after the seamer took figures of 5-35 while Muhammad Jawadullah was economical for his 1-16 in his four overs.
It was second consecutive defeat at the global tournament for Canada while UAE bounced back from a loss to New Zealand in their opening game.