A class goal from Knowledge Musona and another from Cuthbert Malajila in injury time gave Zimbabwe the upper hand, while captain for the day Bernard Parker got a consolation goal for Bafana with seconds to go.
There were some flashes of brilliance from Khama Billiat and Musona throughout the match, but the same cannot be said of Bafana, who battled to string a meaningful number of passes together and looked generally tactically naive.
Gordon Igesund’s somewhat inexperienced – but not particularly young, despite his protestations – side seemed unable to deal with Zimbabwe’s high pressure, pressing game, and lacked composure both in attack and at the back.
The match had a distinctly PSL flavour, with all but four players on the pitch at the start of the match playing their club football in South Africa, the odd men out being Hardlife Zvirekwi (CAPS United), Felix Chindungwe, Danny Phiri (both Chicken Inn) and Bafana keeper Darren Keet (KV Kortrijk, Belgium), who made his national team debut.
The Warriors looked eager and alert in the opening minutes, and Musona had an early chance, striking the ball just over Keet’s crossbar after a cross from Kingston Nkhatha.
Keet did well a few minutes later, running off his line to deny Nkhatha, who was running onto a long ball from the middle of the park.
Parker lined up a free-kick on 12 minutes, but it was headed away by the Zimbabwe wall.
On 20 minutes Billiat made an enterprising run from the centre-line, but ended it selfishly with a weak shot that did not trouble Keet in the slightest.
Siphelele Mthembu, on debut, looked lively on attack for Bafana, but did not quite click with his teammates up front.
Bafana made a promising forward foray on 35 minutes, after some neat passing play from Reneilwe Letsholonyane, David Mathebula and Bongani Zungu, but Parker was just beaten to the ball by the Zimbabwe defence.
‘Yeye’ made a crafty run in search of his second Bafana goal, but the linesman – with one of many poor calls on the night – incorrectly called him offside.
Thulani Hlatshwayo picked up a knock and was replaced by Tshepo Gumede just before half-time.
Gumede immediately gave up a free-kick, after a late challenge on Billiat. Mulomowandau Mathoho climbed highest to head away the danger, and Willard Katsande picked up the lose ball outside the box, but fired his shot over.
Musona made it 1-0 to Zimbabwe in fine style at the start of the second half, after Bafana failed to deal with Denver Mukamba’s corner-kick. The ball floated right through to the 'Smiling Assassin' on the far side, and he brought the ball down expertly with his chest, under pressure, and volleyed it into the roof of the net from a tight angle.
Zimbabwe came close again just minutes later when Billiat played a cross-goal pass to Nkhatha, but Keet came out quickly to deny him.
Parker came close for Bafana on the hour mark, beating his man and setting himself up with a free header, but the ball fizzed past the upright.
There was thankfully some more attacking play from Bafana a few minutes later, when Ruzaigh Gamildien ran on to a goal-kick, but he took too long to take a shot. The ball was cleared by the Zimbabwe defence to Lebogang Manyama outside the box, who sent in a great ball to Zungu, but he could not make decent contact with the ball and sent it out of play.
Tempers flared shortly after, after a late challenge by Zungu on Billiat, with almost the whole pitch getting involved and Mathoho and Katsande looking particularly incensed, but the referee brought things under control without too much trouble.
With 15 minutes to go Tsepo Masilela made a darting run in from the left and sent a stinging shot inches over the crossbar with his right foot. It turned out to be his last kick of the game as he was replaced by Marc van Heerden.
Musona had the ball in the back of the net again 10 minutes from time, after some world class interplay with Billiat, but the linesman called offside.
Zimbabwe made it 2-0 in injury time, after Nkhatha collected a long ball just outside the box and coolly sent it square to substitite Malajila, who calmy slotted home past Keet.
Parker was set up by Siphiwe Tshabalala for his 16th Bafana goal on 96 minutes, a fantastic strike that seemed to pick up speed as it shot into the net, but it was too late in the game for a comeback and Zimbabwe earned their sixth win over Bafana.
The head-to-head stats between the teams now stand at P: 12 W: 6 D: 1 L: 6.
Bafana fans, making their voices heard on KickOff.com’s Facebook and Twitter, were understandably disappointed with the national team’s performance. However, with regulars such as Tokelo Rantie, Anele Ngcongca, Dean Furman, Itumeleng Khune and Thabo Nthethe, as well as Andile Jali, Oupa Manyisa and Siyanda Xulu, all missing, it would be unreasonable to expect the same Bafana who thrashed Botswana 4-1 at the weekend.
Bafana Bafana line-up: Keet, Mkhwanazi, Mathoho, Hlatshwayo (Gumede 43rd), Masilela (Van Heerden 76th), Letsholonyane (Gamildien 45th), Kekana, Zungu (Tshabalala 65th), Mathebula (Erasmus 55th), Parker, Mthembu (Manyama 45th)
Warriors line-up: Arubi, Nyadombo, Zvirekwi (Chipeta 82), Chindungwe, Bhasera, Katsande, Phiri (Jaure 88th), Billiat (Songani 90th), Musona, Mukamba (Malajila 66th), Nkhatha (Machapa 94th)