Pakistan made light work of their 107-run target in New York, easing to their first win at this year's competition with 15 balls to spare and still boasting seven wickets in hand.
Mohammad Rizwan made a run-a-ball 53 in the chase, while captain Babar added 33 in what proved to be a routine victory.
Yet having already suffered a shock opening defeat to the United States and a low-scoring loss to rivals India, Babar was frustrated Pakistan could not finish the task sooner against Canada.
"Good for us, we need this win," Babar said during his post-match interview. "We started well with the bowling, in the first six overs we knew we had to be up to the mark.
"[Net run-rate] was in our mind, to win before 14 overs but the pitch made it difficult."
Mohammad Amir managed an economical 2-13 from his four-over spell as Canada's batters failed to get going against Pakistan.
The Pakistan bowler was named Player of the Match for his efforts, referencing a need for adaptability in the USA and West Indies.
"As a bowler you have to adopt the conditions, what the conditions are demanding," Amir said. "My role is very clear, what I'm going to do with the new ball and at the death.
"That's why I'm getting that success. That was a very important win. One more, who knows..."
Canada captain Saad Bin Zafar, meanwhile, was left frustrated.
"Definitely, it was a bit disappointing," he said. "We wanted to play a positive brand of cricket and I think the wicket was not very helpful.
"It was difficult to bat early on; not a good toss to lose. We were about 25 to 30 runs short."
England won the toss and decided to bowl first, and it almost looked to be the wrong choice as Pakistan raced to 59-0 within the first six overs.
However, Adil Rashid and Jofra Archer quickly bowled Mohammad Rizwan and Babar Azam to turn the tide as Pakistan suddenly collapsed.
England's bowlers turned on the style as Liam Livingstone got a double wicket maiden (2-17), with Rashid (2-27) and Mark Wood (2-35) also doing their part to limit Pakistan to 157 all out in the final over.
England comfortably chased down 158, with Phil Salt (45) and captain Joss Buttler (39) getting them off to a strong start as the openers.
Will Jacks added a further 20 before Jonny Bairstow and Harry Brook, who finished the game off with a final six, saw England to 158-3 with 27 balls remaining.
After two washouts disrupted the series in Leeds and Cardiff, England got a confidence-boosting victory ahead of their World Cup title defence, which will begin against Scotland in Barbados on Tuesday.
Meanwhile, Pakistan will play the United States in their World Cup Opener on Thursday.
Data Debrief: Buttler breaks records
Buttler has broken the record for playing the most T20Is (116) for England, surpassing Eoin Morgan.
Though he did not quite reach the heights of England's win at Edgbaston, his knock saw him hit seven fours and one six on their way to a comfortable victory.
Chasing a challenging 306 for victory from their 50 overs, Babar scored 103 from 107 balls and only hit nine fours as Pakistan achieved their target with four balls to spare.
He featured in a 103-run second-wicket partnership with Imam-ul-Haq who made 65 from 71 balls after Fakhar Zaman was dismissed by Jayden Seales in the seventh over when Pakistan had reached 26.
Babar and Mohammad Rizwan then added an additional 108 for the third wicket before he was dismissed by Alzarri Joseph in the 42nd with the score at 237.
Rizwan fell to the bowling of Romario Shepherd for 59 in the 45th over with the match still evenly balanced with Pakistan needing 50 for victory.
Khushdil Shah swung the match in Pakistan’s favour when he smashed an unbeaten 41 from 23 balls hitting four sixes along the way. The 47th over proved to be decisive as he smeared Shepherd over the boundary ropes for three consecutive sixes in an over that yielded 20 and at the end of which Pakistan needed only 24 from the last 18 balls.
He hit his fourth from the penultimate ball of Shepherd’s next over leaving Pakistan to get six runs from the final over.
Mohammad Nawaz duly obliged hitting Seales back over his head for six to seal the victory.
Alzarri Joseph bowled well for his figures of 2-55 while Seales ended with 1-53. Shah’s onslaught on Shepherd resulted in the bowler giving up 70 runs from his nine overs, half of them scored from his last two overs.
Earlier, Shai Hope scored his 12th ODI century as the West Indies batted well for their 305-8 from their allotment.
After losing his opening partner Kyle Mayers for just three in the third over with the West Indies on nine, Hope and Shamarh Brooks repaired the early damage with a second-wicket partnership of 154 before Brooks was brilliantly caught at short third man by Shadab Khan off the bowling of Nawaz for 70.
Cameos of 21 from 16 balls by Captain Nicholas Pooran, 32 from 23 balls from Rovman Powell and 25 from 18 by Shepherd carried the West Indies past 300.
Though he proved expensive Haris Rauf was the best of the Pakistan bowlers with 4-77 from his 10 overs. Shaheen Shah Afridi took 2-55.
Wicketkeeper batsman Nicholas Pooran moved three spots to break into the top 10 after scores of 65 not out, 19 and 35 across the three games. The aggressive left-hander is now the Caribbean side’s highest-ranked batsman in the format, overtaking the injured Brandon King, who slipped one place down to 10 after he sat out the series.
Johnson Charles, who also didn’t feature in the series, also slipped one place down to 11th, while West Indies captain Rovman Powell stood still at number 34.
Shai Hope continues to prove his worth in the games shortest format, as his scores of 51, 41, and an unbeaten 42 saw him jump 32 places up to 40th, overtaking out-of-favour Kyle Mayers, who slipped three spots down to 42nd as the next West Indies players in the top 50.
Despite the loss, South Africa’s Reeza Hendricks also made gains, as he moved up to 13th position.
In the bowling rankings, West Indies left-arm spinner Akeal Hosein of moved up four places to second position after taking four wickets in three matches. He was joined by fellow left-arm spinner Gudakesh Motie, who moved 10 slots up to third, while Romario Shepherd moved 13 spots up to 31st position.
Alzarri Joseph, who slipped four spots to 15th, Jason Holder (44th) and left-arm seamer Obed McCoy (50th) are the other West Indies bowlers in the top 50.
Meanwhile, England batter Harry Brook moved up to fourth position, while Mushfiqur Rahim and Mohammad Rizwan have reached career-best positions in the ICC Men’s Test Batting Rankings after their fine performances over the past week.
Brook’s scores of 56 and 32 in the first match of their ICC World Test Championship series against Sri Lanka in Manchester lifted him three places to fourth position, just one adrift of his career-best third position attained following his second-innings century against the West Indies at Trent Bridge last month.
Bangladesh batter Mushfiq’s match-winning 191 in the first Test of the WTC series against Pakistan in Rawalpindi has helped him advance seven places to a career-best-equalling 17th position, while Pakistan’s Rizwan is in the top 10 for the first time after scores of 171 not out and 51.
Others to move up the Test rankings include Sri Lanka batters Dinesh Chandimal (up four places to 23rd) and Kamindu Mendis (up eight places to 36th), Bangladesh’s Liton Das (up two places to 27th) and England’s Jamie Smith (up 22 places to 42nd).
In the Test bowling rankings, England’s Chris Woakes is up four places to 16th after taking three wickets each in both innings against Sri Lanka while Asitha Fernando is up 10 places to 17th after also finishing with six wickets in the match.
Pakistan fast bowler Naseem Shah (up four places to 33rd), England’s new-ball bowler Gus Atkinson (up four places to 42nd) and Matthew Potts (up five places to 57th) are the prominent movers in the bowling rankings.
The West Indies lost too many wickets early with Brandon King (1), Nicholas Pooran (18) and Devon Thomas (2) all back in the hutch within the first six overs. It would only get worse for the visitors, who slumped to 60-5 after losing Shai Hope for 31 and Shamarh Brooks for five within three balls of the 10th over bowled by Shabad Khan.
Not even the in-form Rovman Powell could rescue the West Indies. Powell hit a four and two sixes before he, too, fell to Khan for 23 off 15 balls.
His was the seventh-wicket to fall after Dominic Drakes had been dismissed by Haris Rauf for five.
Romario Shepherd and Odean Smith provided some rearguard resistance with a partnership of 46 that was eventually broken when Shaheen Shah Afridi bowled Smith for 24 with the West Indies still needing 67 from the last two overs.
Romario Shepherd went next ball, bowled for 21 by Mohammad Wasim, who would later bowl Oshane Thomas for one, to finish with 4-40.
Shabad Khan took 3-17 from his four overs.
Earlier, half-centuries from Mohammad Rizwan and Man-of-the-Match Haider Ali had steered Pakistan to 200-6 off their 20 overs after Nicholas Pooran won the toss and sent the home team to bat.
The visitors had immediate success when Babar Azam was dismissed in the first over bowled by Akeal Hosein, who got the Pakistan captain to nick one into the gloves of Shai Hope behind the stumps.
The West Indies had further success in the fifth over when Fahkar Azam skied a Romario Shepherd delivery and was caught by Shamarh Brooks for 10 to have Pakistan at 35-2.
Despite the loss of those two wickets, Pakistan maintained a healthy strike rate with Rizwan and Ali putting together a stand of 105 in 62 balls before Rizwan was caught in the deep by Odean Smith, who gifted Shepherd with his second wicket of the match.
Rizwan ran well between the wickets and hit 10 fours in his score of 78 from 52 balls.
The West Indies fought back with the wickets of Asif Ali removed by Oshane Thomas for 1 and Iftikhar Ahmed dismissed by Smith for seven as Pakistan slipped from 140-3 to 161-5.
However, Ali and Mohammad Nawaz, kept Pakistan above nine an over, the latter being rather brutal hitting three fours and two sixes in his unbeaten 10-ball 30.
Between them, they scored 30 from 11 balls before Ali was the last man out for 68 in the 20th over bowled by Dominic Drakes.
Drakes ended with figures of 1-43 from his four overs. Smith proved expensive with 1-52 from his four while Shepherd was the best of the bowlers with 2-43. Twenty-one of those runs came off his last over, the 19th of the innings.