Libya are through to the final of the African Nations Championship after they defeated Zimbabwe on penalties.
Zimbabwe had the better of a dire 120 minutes, but they couldn't force the goal that would have earned them a place in Saturday's final.
However, in a dramatic penalty shootout, Libya took advantage of four missed efforts from their opponents to secure a 5-4 success.
Read below to see how the action unfolded at the Free State Stadium.
5.55pmBecause of the quick turn-around, that will be all from this game, but please stick around to join us for the Nigeria versus Ghana match which is due to kickoff in 35 minutes time. Goodbye for now.
5.54pmZimbabwe 4-5 Libya UNBELIEVABLE! Libya win on penalties after their goalkeeper, of all people, scores. Mohamed Abdaula is the hero!
5.52pmZimbabwe 4-4 Libya SAVED! Sadiki sees his spot-kick saved, and Libya have a third chance to win this shootout...
5.52pmZimbabwe 4-4 Libya Remarkable stuff. The ball is driven into the corner and we are back on level terms.
5.51pmZimbabwe 4-3 Libya Jaure rolls the ball into the corner. Libya must score...
5.50pmZimbabwe 3-3 Libya This is getting silly! Libya miss their second chance to go through to the final!
5.49pmZimbabwe 3-3 Libya Another save! Ncube sees his driven effort saved by the legs of Abdaula.
5.48pmZimbabwe 3-3 Libya MISS! The Libya captain, Salama, has the chance to send his team through, but his weak penalty is saved!
5.48pmZimbabwe 3-3 Libya Great penalty! Zvirekwi sends the goalkeeper the wrong way.
5.47pmZimbabwe 2-3 Libya Fetori scores for Libya. Zimbabwe must score here, or Libya have won.
5.47pmZimbabwe 2-2 Libya The next Zimbabwe taker has done the same! Unbelievable.
5.46pmZimbabwe 2-2 Libya Oh no, what has Mahfud done there! He has attempted to dink the ball into the roof of the net, but it has gone skywards!
5.45pmZimbabwe 2-2 Libya Zimbabwe miss! The ball was fired against the post.
5.44pmZimbabwe 2-2 Libya Yes they can! great penalty from Ghanudi.
5.43pmZimbabwe 2-1 Libya Both teams score their next penalties. Can Libya level?
5.41pmZimbabwe 1-0 Libya Zimbabwe score their first penalty through Chipeta.
120 minFULL TIME: ZIMBABWE 0-0 LIBYA - THE MATCH GOES TO PENALTIES
118 minJust two minutes to go in Mangaung. This is going to penalties.
114 minA ball is delivered into the penalty area for Simbarashe Sithole, but his header is glanced wide of the post.
112 minBoth teams are huffing and puffing, but they can't blow their opponents house down. Eight minutes to go...
106 minWe are back underway. Will we get a winning goal, or are we going to penalties. I think you can guess what my prediction is.
105 minHALF TIME: Zimbabwe 0-0 Libya
103 minKudakwashe Mahachi skies a 30-yard effort for Zimbabwe. It wasn't the worst effort in the world, but it was always rising.
98 minCHANCE! George Chigova, you lucky, lucky man. Elmutasem Abushnaf fires an innocous effort across goal, but it goes through the legs of the Zimbabwe goalkeeper. However, it evades the far post.
95 minBOOKING! The Libya goalkeeper, Mohamed Abdaula, has been booked for time-wasting. I think that tells you everything that you need to know about what Libya want from the next 30 minutes...
94 minSome superb play down the right earns Zimbabwe a corner, and although the ball into the box is a lot better than we have previously seen, it's punched clear by the goalkeeper.
91 minZimbabwe get us underway in the first period of extra time.
4.56pmCan't someone suggest to the referee that we may as well go straight to penalties? It would save everyone a bit of time.
90+4 minFULL TIME: Zimbabwe 0-0 Libya
90+4 minThe Libya goalkeeper is even running down the clock now. We've got another 30 minutes coming up...
90 minThere will be four minutes of added-on time.
88 minIt's beginning to peter out a little now. As I suspected earlier, we are surely heading into extra time.
83 minCHANCE! Big chance for Zimbabwe. The ball found its way to the right side of the penalty area, and after it was pulled back for Kudakwashe Mahachi, he blazed his left-foot shot over the crossbar from 14 yards. He should have at least hit the target.
81 min10 minutes to go. It's as you were. However, Libya have made an attacking change by bringing on Mohamed Mahfud.
77 minWe have less than 15 minutes remaining in the Free State Stadium. Libya are beginning to sit deep, and look more than happy to take this to extra time.
70 minThat said, Zimbabwe are having a lot more joy in attack. They are throwing men forward, but it is leaving them slightly open on the break. Libya's Osama Ghit goes into the referee's notebook after scything down Ali Sadiki.
67 minThis might be a bold prediction - then again, it might not be - but I would be genuinely surprised if this doesn't go to extra time. Most of the shots are coming from 25 yards out.
63 minIt's getting a bit feisty in Mangaung. A player from either side have been taken out with crude challenges, but they are back on their feet.
60 minSHOT! Terrific effort from Milton Ncube, but his 30-yard attempt is well handled by Mohamed Abdaula.
56 minLike in the first half, Libya have taken their time to find their feet, but they are slowly establishing themselves now. Elmehdi Elhouni had an opportunity to test the goalkeeper from the left-hand side of the penalty area, but he could only direct his shot into the side-netting.
52 minSome good work from Simba Sithole earns his side a corner, but the ball into the box, like it has been on previous occasions, was abysmal.
49 minAnd again! If it wasn't for some last-ditch defending, Zimbabwe would surely be ahead.
48 minZimbabwe are laying siege to Libya's goal in the opening stages of the second half, but they can't get a shot away.
46 minNope, no changes. Zimbabwe get us back underway.
4.01pmThe two teams will be making their way back out into the Free State Stadium in a couple of minutes. I wonder if either manager has considered making a change.
3.55pmZimbabwe started and ended the first half in the ascendancy, but it was Libya who had the best opportunity of the half through Mohamed Ghanudi. Nerves aren't necessarily playing a part in this semi-final, but both sides need to attempt to take the initiative when they return for the second half.
3.50pmThe referee blows the half-time whistle in Mangaung, and it remains level between Zimbabwe and Libya.
45+4 minHALF TIME: Zimbabwe 0-0 Libya
45+2 minThere's not a whole lot of urgency from either side to do anything of note before the break. I think that's it's going to be goalless at half time.
45 minThere will be four minutes of added-on time.
43 minLibya win a corner on the right-hand side, but it's a shocking delivery. Zimbabwe break up the other end and look to have won a corner, but the offside flag is up.
39 minThe physio seems to have worked his magic because Abdaula is back on his feet. A couple of supporters have just been shown having a sleep. I don't think it's quite that bad, just yet...
37 minLibya goalkeeper Mohamed Abdaula looks in some trouble here. After catching the ball, he immediately kicked it out to receive treatment for what appears to be a back or shoulder injury.
34 minCHANCE! That was a decent opportunity for Simba Sithole. Milton Ncube played a delightful ball over the top of the Libya defence, but after opting to head first time towards goal, Sithole sent the ball a couple of yards wide of the near post.
31 minEver since I mentioned that this was warming up into a decent match, the chances have dried up. I will refrain from getting my hopes up for the remainder of the match.
28 minHow greedy is that from Elmehdi Elhouni? The Libya player broke with pace from the halfway line with his team having men over. However, rather than play a through ball to his team, he opted to take one touch too many and the move came to an end.
24 minA couple of Zimbabwe are sent sprawling to the floor in quick succession. One of them is back to their feet, but the other appears in some discomfort and requires treatment.
21 minLibya are much more competitive in this match than they were for the opening 10 minutes. It's warming up into a decent encounter.
18 minMohamed Ghanudi tricks his way past a couple of players to earn a free kick for Libya around 20 yards from goal. It's a threatening ball into the middle, but it's headed out for a corner.
14 minCHANCE! Just as I say that, they miss a clear opportunity to go in front! A ball was whipped to the far post for Mohamed Ghanudi, but he powered his header wide of the post from six yards.
12 minZimbabwe are continuing to have the majority of possession in Mangaung. Libya haven't come close to registering a shot on goal.
7 minSHOT! Ali Sadiki just nearly pulled off a stunning goal for Zimbabwe. He dragged the ball past his marker before unleashing a swerving effort from 25 yards that was tipped over the crossbar by the goalkeeper.
6 minSHOT! That's slightly ambitious from Danny Phiri. Actually, it's very ambitious. The midfielder went for goal from around 35 yards, but the ball bounced before the six-yard are and trickled wide.
3 minIt's been a fast start from Zimbabwe , who quickly won a free kick in a threatening position. However, while the ball into the penalty threatened Libya's goal, it was well cleared by the defence.
1 minWe are underway in Mangaung.
2.55pmThe players will be walking onto the pitch at the Free State Stadium any moment now. It's tough to predict the outcome of this match because both teams are unbeaten and look incredibly tight at the back. Extra time looks the most likely outcome, but we shall wait and see.
2.53pmLIBYA XI: Abdaula, Almaghasi, Elhouni, Ghit, Sabbou, Salama, El Trbi, Fetori, Fadel, Elgadi, Ghanudi
2.51pmZIMBABWE XI: Chigova; Chipeta, Zvirekwi, Jaure, Ncube; Phiri, Mahachi, Sadiki, Moyo, Mambare; Sithole
2.48pmFinally, we have news of today's teams. Full details to follow.
2.45pmThe winner of this match will earn the chance to fight for the African Nations Championship trophy against either Nigeria or Ghana. Whoever prevails from the second semi-final will be expected to become champions on Saturday evening, but confidence is sure to be high among the victors of this fixture.
2.41pmAs for Libya, they finished second in a group containing Ghana and Congo. Four points from their opening two matches gave them an opportunity to qualify for the last eight with a result against Congo, and despite looking down and out with 15 minutes remaining, they fought back to score twice before half time to secure a point that helped them progress. The quarter-final draw pitted them against Gabon, and after drawing 1-1 after 120 minutes, Libya held their nerve to move through to the semi-finals.
2.38pmZimbabwe were drawn in a group alongside the likes of Morocco, Uganda and Burkina Faso. Morocco were the overwhelming favourites to progress, but second place was considered up for grabs. Remarkably, Zimbabwe achieved the impressive statistic of not conceding a goal in their three group games, but they were only able to net one goal up the other end. Five points were enough to secure the runner-up spot, and despite going into their last-eight encounter with Mali as underdogs, they stunned their opponents by recording a 2-1 win.
2.34pmWe are still awaiting the team news from the Free State Stadium in Mangauang, so how about I bring you a rundown on how each team made it through to the semi-finals.
2.32pmAfter 16 teams began this competition, we are now down to the final four, but few people would have expected that these two teams would be competing for a place in the final.
2.30pmHello, and welcome to Sports Mole's coverage of the match between Zimbabwe and Libya in the semi-finals of the African Nations Championship.