Brendan Murtagh's 51st-minute goal turned the tide in Westmeath's favour as they dug deep to claim a 1-15 to 0-11 All-Ireland SHC qualifier victory at Ruislip.
London led by 0-07 to 0-06 at half-time, with Cork's Martin Finn scoring three first half points.
However, the Exiles fired 12 wides in the opening 35 minutes and this ultimately came back to haunt them.
Westmeath bagged 1-04 with reply in a 12-minute second half spell to seize control and they held London to just two points in the closing stages.
Westmeath started with the team named in midweek, but for the hosts there were a number of changes to the starting line-up.
Kilkenny native Brian Healy replaced Brian Moroney in defence, with three switches also in attack - David Maher, Tony Dunne and Martin Finn were introduced in place of Luke Hands, Gerard Hennelly and Martin Duggan.
Westmeath opened in encouraging fashion with a kicked effort from Derek McNicholas after just a minute, the first of three points from the Lough Lene Gaels clubman in the opening 35 minutes.
Scores were at a premium in the first quarter and despite London equalising in the third minute through Kilkenny man PJ Rowe, the hosts were wasteful in front of the posts.
It took almost 10 minutes for another score to be produced as both teams failed to add to their account. The Exiles were particularly guilty of missing scoring opportunities, having dominated in the midfield sector.
London struggled to follow up on Rowe's equaliser with a score that would see them take the lead. Indeed, four attacks between the fifth and eighth minutes each resulted in a wide.
Finn, Stephen Lambert and Henry Vaughan were responsible for those misses, while Eoin Price and John Shaw hit wides for the Lakesiders.
A total of seven scoring chances went amiss in a six-minute spell, before Limerick native Donie Reale eventually broke the scoring deadlock with a fine strike in the 13th minute.
London brought their wides tally to eight by the end of the first quarter, but an excellent effort from captain John Walsh settled matters and put them 0-03 to 0-01 ahead in the 18th minute.
Robbie Greville claimed Westmeath's first score in 19 minutes, profiting from a well-placed ball from his fellow Raharney clubman Shaw as they began to get a foothold.
Stephen Lambert edged London two points ahead once more, but Westmeath now showed a greater energy and threw everything at the Exiles defence.
McNicholas was clinical from open play and dead-ball situations, while a John Shaw point pushed Westmeath ahead by 0-05 to 0-04 in the 28th minute.
London stormed back with Eamon Phelan's side taking control once more in centre-field. Lambert shot wide before a brace of pointed frees from Finn edged London ahead once more.
Greville levelled matters with his second point, but a third free from Finn gave London a 0-07 to 0-06 interval lead.
The introduction of Stephen Frawley - in place of Tony Dunne - was aimed to boost the London attack, but there were signs yet again that missed opportunities would come back to haunt them.
Finn fired London's 13th wide, two-and-a-half minutes after the restart, and although his side bagged two of the first three points of the second half - including one from Finn - Westmeath were set to take control.
Murtagh and McNicholas were central to this revival up front, but in defence Westmeath also performed strongly. Liam Varley, Tommy Gallagher, Paul and David Fennell, Alan McGrath and Adam Price all found themselves under huge pressure, but delivered superbly.
It was a long range McGrath free which helped to create the only goal of the contest, with Murtagh pouncing and knocking the ball to the net to hand Westmeath a 1-09 to 0-09 advantage.
From this point onwards the midlanders never looked back and McNicholas continued to show well in front of the posts. A brace of points from the half-forward pushed Westmeath five points clear with eight minutes remaining.
London pegged back a point through substitute Martin Duggan, but Westmeath saw out the result with McNicholas ending the tie with 11 points to his credit.
Westmeath lost defender Paul Fennell through a second yellow card late on, but it mattered little as Brian Hanley's charges had already booked their place in the next round.
London: D Russell; C McAlinden, B Costelloe, D Healy; B Healy, B Regan, J Walsh (0-01); PJ Rowe (0-01), H Vaughan; S Lambert (0-01), J Maher, D Maher; T Dunne, M Finn (0-05, 0-05f), D Reale (0-02).
Subs used: S Frawley for Dunne (half-time), L Hands for D Maher (39 mins), M Duggan (0-01) for Rowe (60), E Cooney for Vaughan (68).
Westmeath: P Collins; L Varley, T Gallagher, P Fennell; D Fennell, A McGrath, A Price; E Price, J Clarke; B Murtagh (1-01), A Craig, D McNicholas (0-11, 0-07f); N O'Brien, R Greville (0-02), J Shaw (0-01).
Subs used: T Egan for Varley (41 mins), A Clarke for Craig (45), S Power for J Clarke (66), B O'Meara for Shaw (68).
Referee: Colm Lyons (Cork)
Highlights and analysis of all the weekend’s action on The Sunday Game from 22:00 on Sunday 23 June on RTÉ Two and RTÉ.ie (Ireland only).
Expert and fan reaction on Take Your Point from 18:00 on Sunday 23 June on RTÉ Radio 1 and RTÉ.ie (Worldwide).