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.
|Cummins savours taking ´dream´ Root wicket|
|Jones makes nine England changes as Simmonds starts at number eight|
|Robben: It could be over for me after this season|
|Newcastle Jets 4 Melbourne Victory 1: Nabbout at the double|
|Chawrasia leads from Fitzpatrick in Hong Kong|
|Vince revels in silencing the doubters|
|Happy Sanchez could win the Premier League for Arsenal, Lauren claims|
|Davis leads Australian Open as Spieth struggles in the wind|
|Halep tips Dimitrov for grand slam glory|
|The Ashes round-up: England falter after Vince and Stoneman half-centuries|
|Angered Neymar storms away from Real Madrid questions|
|Bayern played their worst ´for a long time´ - Boateng|
|Australia fight back on tight first day in Brisbane|
|Neymar form no surprise for Alves|
|Fiji ready for another mission impossible - Naiqama|
|Vince helps England continue fine start|
|Thunder roll as Westbrook goes off against Warriors, Cavs win|
|Kiwis would consider Bennett as coach|
|Meninga unhappy with Aussie preparations ahead of World Cup semi|
|Federer congratulates Basel after Man Utd scalp|
|Heat snap Celtics´ 16-game winning streak|
|Spurs star Leonard has unique issue, Popovich says|
|England steady after early Cook loss in Brisbane|
|Gremio 1 Lanus 0: Cicero gives Brazilians advantage in Libertadores final|
|Hazard: I admire Madrid, but I´m happy at Chelsea|
|Neuer or De Gea? Digne says Ter Stegen is world´s best keeper|
|Allegri satisfied with draw against ´extraordinary´ Barcelona|
|Nainggolan reaffirms Roma commitment after Simeone praise|
|Chiefs sign veteran CB Revis|
|England choose to bat as Warner, Marsh cleared to play for Australia|
|Beathard, not Garoppolo, named 49ers starter v Seahawks|
|Simeone hails Griezmann´s ´extraordinary´ volley|
|Emery hails Neymar after stunning Celtic win|
|Freeney joins Lions day after being cut by Seahawks|
|Championship Review: Wolves thrash 10-man Leeds, Middlesbrough cruise|
|Goncharenko delighted for clean sheet star Akinfeev|
|I hope Barcelona rest Messi – Jesus|
|Broncos name Lynch starting QB for Raiders game|
|Thiago suffered a serious injury, says Heynckes|
|Valverde explains decision to bench Messi|
|Coleman the latest to join Rebels revolution|
|LeBron: Defensive consistency key to Cavs winning streak|
|Bills revert to Tyrod Taylor as starting QB after Nathan Peterman disaster|
|Absent Stokes wishes England well|
|Iniesta hails ´splendid´ Ter Stegen as Barcelona seal last-16 spot|
|Griezmann shrugs off goalless streak after wonderstrike keeps Atletico´s hopes alive|
|We should have been 5-0 up – Mourinho unimpressed with wasteful United|
|Toure reveals Guardiola anger with City´s Feyenoord display|
|Warriors star Durant says he will play against Thunder|
|Paris Saint-Germain set Champions League scoring record in Celtic rout|
|Sporting CP 3 Olympiacos 1: Dost on target as hosts stay in contention|
|Bielsa suspended by struggling Lille|
|Anderlecht 1 Bayern Munich 2: Lewandowski and Tolisso give visitors win|
|Atletico Madrid 2 Roma 0: Griezmann returns to form with wondergoal|
|Basel 1 Manchester United 0: Late Lang goal leaves Mourinho´s men with work to do|
|Paris Saint-Germain 7 Celtic 1: Cavani and Neymar score braces in sparkling win|
|Juventus 0 Barcelona 0: Messi benched but Valverde´s men in last 16|
|Bennett backs New Zealand to recover from World Cup exit|
|No Samoa donation from England squad - Borthwick|
|Conte pleased to take pressure off Atletico clash|
|Success in Europe will help Milan´s league form, Montella claims|
|Bauza sacked by Saudi Arabia|
|Browns´ Josh Gordon returns to practice|
|Azarenka confirms place at ASB Classic|
|Willian: For me, it was a penalty|
|Akinfeev keeps first Champions League clean sheet since November 2006|
|Messi rested by Barcelona side for Juventus clash|
|CSKA Moscow 2 Benfica 0: Goncharenko´s men boost progression hopes|
|Qarabag 0 Chelsea 4: Hazard, Willian lead Blues into last 16|
|Wood not giving up hope of Ashes role|