Sikandar Raza led the way with a career-best innings as Zimbabwe produced a superb lower-middle-order recovery to forge a position of unexpected strength on day three of their sole Test with Sri Lanka in Colombo.
When the tourists slumped to 23-4 and 59-5 at the hands of Rangana Herath (4-85) after earning a slender first-innings lead of 10, the prospects of a Zimbabwe victory appeared slim.
However, Raza responded in style by striking 97 not out and received able support from Peter Moor (40) and Malcolm Waller (57 not out) as Graeme Cremer's side reached 252-6 at stumps to move 262 ahead.
Cremer had earlier completed a five-wicket haul as Sri Lanka, who had begun Sunday on 293-7, were limited to 346 all out.
The Zimbabwe skipper ousted Suranga Lakmal (14) and the injured Asela Gunaratne (45) to finish with 5-125, after Herath had been stumped off Sean Williams for 22 to end an eighth-wicket stand of 48.
Herath's variations then bemused Zimbabwe's top order, the veteran spinner striking in three successive overs to remove Regis Chakabva, Tarisai Musakanda and Hamilton Masakadza.
And Sri Lanka appeared in command when first-innings centurion Craig Ervine was caught at slip off Dilruwan Perera, leaving Zimbabwe four down at lunch with a lead of only 33.
Although Williams was bowled by a beauty from Herath, the afternoon session was otherwise profitable for Zimbabwe as Raza and Moor steadied the ship.
Moor pulled Lahiru Kumara to deep square-leg early in the evening, but Raza - utilising the sweep on a regular basis - continued to prosper and found another willing ally in the aggressive Waller, who brought up his half-century from just 54 balls.
By the close, Raza was on the brink of a maiden Test hundred and his partnership with Waller was worth 107.
|Croatia cut Messi off in Argentina thrashing - Modric|
|Pogba: Kante, Matuidi have 15 lungs|
|Julian Nagelsmann: the Bundesliga prodigy swapping Hoffenheim for RB Leipzig|
|England dominate in Durham to close in on series whitewash|
|´Fortunate´ Federer closes in on Halle title|
|Calamity Caballero and Sampaoli tinkerings leave Argentina a broken mess|
|Wimbledon champion Muguruza confident despite Birmingham defeat|
|Argentina 0 Croatia 3: Caballero drops clanger as Messi´s men are stunned|
|Funes Mori departs Everton to join Villarreal|
|Djokovic beats Dimitrov as Kyrgios lays down a marker|
|Relegated Verona appoint World Cup winner Grosso|
|Trotz named Islanders´ new coach|
|Matic and Serbia ready for ´hellish´ Switzerland clash|
|Fleetwood flounders as Gros takes Pulheim lead|
|No attacks on Neymar, pledges Costa Rica boss Ramirez|
|Giroud return brings structure to France, but again they disappoint|
|Brighton sign Sunderland goalkeeper Steele|
|Schmeichel and Eriksen blast ´exceptionally harsh´ VAR penalty|
|Nigeria´s young World Cup squad learning on the job - Rohr|
|Moody: England players need protection|
|France 1 Peru 0: Mbappe books last-16 spot with record goal|
|I don´t need anyone to hold my hand - Verstappen|
|Captaincy comes back around to Silva as 2014 pain fades|
|We don´t want to be losers - Petkovic|
|Alba not interested in Barcelona exit as Tottenham rumours swirl|
|BREAKING NEWS: Nagelsmann to take RB Leipzig role in 2019|
|Messi cannot be compared to Maradona, claims Argentina World Cup winner Kempes|
|Mbappe sets France record with maiden World Cup strike|
|Federer comes through tough Halle test|
|Nagelsmann to leave Hoffenheim amid RB Leipzig rumours|
|Gerrard brings former Liverpool team-mate Flanagan to Rangers|
|Cipriani to be ´the calmest guy in the room´ on England return|
|C´est magnifique! Lloris earns 100th France cap|
|Belgium v Tunisia: Hazard hoping for World Cup lift off|
|WATCH: Manchester United ditch piano to welcome Fred the red|
|Hamann springs to defence of Ozil|
|Alonso non-committal on future after Le Mans triumph|
|McInally returns to Scotland starting line-up|
|Giroud & Matuidi start as Deschamps drops Dembele for Peru|
|Torreira focused on Uruguay amid Arsenal links|
|NBA Mock Draft 2018: Deandre Ayton leads intriguing first round|
|Tite will not take away Neymar´s ´genius´|
|Australia show promise but calls for Cahill ignored amid lack of cutting edge|
|Manchester United means greatness - Fred aiming for titles following Old Trafford switch|
|Denmark 1 Australia 1: Jedinak strikes back after Eriksen rocket|
|Neymar not being put at risk by Brazil, says Tite|
|Juventus complete signing of free agent Emre Can|
|Fred completes Manchester United switch|
|Dembele will not join a Spurs rival|
|What were the 0.4 per cent doing? Iceland captain marvels at TV audience|
|Forsberg ready for ´next big step´ after RB Leipzig|
|´Retired´ Brits on bench as Springboks ring changes for final Test|
|Meninga: Key Kangaroos positions up for grabs in Origin|
|FIFA gets shirty over Ronaldo claims|
|Soyuncu keen on Arsenal switch|
|Atmosphere much better after criticism, says Hummels|
|FIFA issues statement after ´questionable´ Amrabat decision|
|Cipriani and Robshaw to start for England at Newlands|
|Team Sky hit back at Hinault´s ´irresponsible´ Froome comments|
|Iran fans are the real winners as women get glimpse of the future|
|Beckham predicts England-Argentina World Cup final|
|Napoli should sign Meret, Zenga claims|
|Meticulous Mouratoglou shaping stars of the future|
|Journalist hands Khedira boarding pass for early flight home|
|Germany v Sweden: Muller upbeat ahead of huge World Cup clash|
|South Korea v Mexico: Germany´s conquerors set for role reversal|
|Chandimal appeals against one-match ban|
|Fofana and Lamerat start, Parra skipper for final All Blacks Test|
|Asia and Africa being left behind - Queiroz|
|Emre Can arrives for Juventus medical|