Kenya beat Zimbabwe by seven wickets
Kenya have booked a semi-final berth with an upset seven-wicket victory over Zimbabwe in Bloemfontein.
Collins Obuya and martin Suji took three wickets each as Zimbabwe were bowled out for 133.
And a 73-run partnership between Thomas Odoyo and Maurice Odumbe took the East Africans to their target with 24 overs remaining.
26th over: A classy drive from Odumbe beats cover for four, taking Kenya within five runs of victory.
The strike is exchanged before Odumbe takes on Flower again, driving the spinner over mid-on for another boundary to complete the win.
25th over: Left-armer Doug Marillier joins the attack. Odumbe cracks consecutive fours either side of the bowler.
24th over: Boundaries flow for Odoyo from Grant Flower's left-arm spin - a total of 13 runs bringing up the 50 partnership.
23rd over: Blignaut serves up a tasty full-toss down leg-side, which Odoyo glances to the fence. The in-form batsman follows that up with a hook to the square-leg fence and another through the covers.
22nd over: Grant Flower is given the ball but the result is the same as Odumbe chips the spinner to the deep mid-wicket fence.
21st over: Odoya pulls the re-introduced Blignaut beautifully over mid-on for four.
20th over: Odumbe pierces the off-side to collect three runs off Hondo. A similar, but much more forceful, shot later in the over is sent to the fence.
19th over: Olonga's reckless line and length does not improve and Odoyo drives past mid-off for four. The batsman then pounces on a short ball, dispatching it over mid-wicket for four.
18th over: Hondo follows up Olonga's eventful over with a maiden.
17th over: Kenya help themselves to three leg-byes as the runs pile up. Four Olonga no-balls follow but finally he strikes, trapping Otieno in front for 19. Kenya: 62-3
16th over: Odoya finds the fence with a wristy flick off Hondo, bringing up the Kenya 50.
15th over: Olonga continues to struggle with his rhythm, bowling two no-balls.
14th over: Blignaut looks to be on the wane after a fiery opening spell, giving away a wide and a boundary to Odoyo through the covers.
13th over: Olonga is brought into the attack after having bowled just three overs in the World Cup so far. A wide and a no-ball betray signs of ring-rustiness.
12th over: Another impressive over from Blignaut sees him notch his first maiden of the innings.
11th over: Streak strays outside off-stump and is spanked to the fence by Otieno.
10th over: Tikolo departs to a poor shot, mistiming a Blignaut short ball into the hands of Streak in the covers. Kenya: 33-2
9th over: Otieno makes his own luck, edging unknowingly through the vacant third-slip position for a boundary.
8th over: An extraordinary dismissal sees Shah run out at the non-striker's end after Blignaut drops a caught-and-bowled chance and defelcts the ball onto the stumps. Kenya: 24-1
7th over: Streak strives for the breakthrough but cannot pierce the Shah defence.
6th over: Shah cuts Blignaut for four, but only after Ebrahim drops the sharp chance at point.
5th over: Shah picks Streak off his legs, turning the ball through square-leg and beating the fine-leg fielder for four.
4th over: Otieno digs out a venomous Blignaut yorker as Kenya take just one from the over.
3rd over: Kenya are gifted some luck as Wishart drops a fairly easy Shah chance off Streak in slip.
2nd over: Blignaut wanders down leg-side and is punished by Otieno for three. Shah then off-drives nicely for two.
1st over: Streak opens for Zimbabwe, desperate to take an early wicket. The skipper beats Otieno's outside edge in a good over.
45th over: Zimbabwe fall to their lowest ever score against Kenya as Marillier misses a straight delivery which removes the bails. Zimbabwe 133 all out
43rd over: Marillier grabs a single with a reverse sweep but Kenya's alertness in the field prevents any more runs.
42nd over: Karim delivers another tight over as Zimbabwe go on the defensive.
41st over: Henry Olonga is out for three on his return to the Zimbabwe side, Maurice Odumbe taking a wonderful diving catch at short mid wicket. Captain Steve Tikolo celebrates a wicket in his first over of the day. Zimbabwe 129-9
39th over: Obuya delivers his final over and almost picks up his fourth wicket as he beats Marillier's bat twice in quick succession. He finishes with impressive figures of three for 32.
38th over: Karim returns to stifle the Zimbabwe batsmen and concedes just a single in a tidy over.
37th over: Douglas Marillier is putting up a fight for Zimbabwe and crashes a four through the covers.
36th over: A huge blow for Zimbabwe as they lose Flower on 63. The batsman tries to flick it down legside but the ball brushes his leg and removes the leg stump.
35th over: Maurice Odumbe produces an excellent piece of fielding to prevent a four from Flower.
34th over: Thomas Odoyo returns to the bowling attack in place of Karim and concedes four runs. Flower is surprised by a shorter delivery and completely mistimes his pull.
33rd over: Obuya continues to cause problems for the Zimbabwe batsmen who attempt to consolidate after losing three quick wickets.
32nd over: Zimbabwe tentatively reach three figures with a succession of singles and the players take a drinks break.
31st over: The wheels fall off for Zimbabwe as Streak edges to slip off Obuya for a duck. Zimbabwe: 97-7
30th over: A horrendous mix-up between the wickets sees both players scurrying to make their ground at the same end. After consultation with the third umpire it is Blignaut on his way. Zimbabwe: 95-6
29th over: Flower passes fifty with a lovely boundary off Obuya.
28th over: Another tight over from Karim keeps the pressure on Zimbabwe.
27th over: Ebrahim is stumped well out of his ground as Obuya grabs another wicket for Kenya. Zimbabwe: 85-5
26th over: Another probing over from Karim in which just two singles are scored.
25th over: Obuya goes for four in the over as Zimbabwe reach 82-4 at the halfway mark.
24th over: Left-arm spinner Karim comes into the attack, bowling a tidy over that costs just two runs.
23rd over: Ebrahim is lucky to find a vacant area as his sweep shot flies high into safety.
22nd over: Ebrahim makes Ongondo pay for a rare overpitched delivery, off-driving him to the fence.
21st over: Obuya strikes with the fourth ball of his spell, sending Taibu on his way after a faint edge is taken by the keeper. Zimbabwe: 66-4
20th over: Flower lofts high over mid-off and is lucky not to be caught after mistiming the shot. Poor fielding in the deep next ball gifts the bowler a boundary.
19th over: Taibu angles Odoyo past square-leg for two as he begins to find his feet.
18th over: Magnificent stuff from Ongondo as another maiden is bowled. Just one run has been scored off his first three overs.
17th over: Odoyo returns to the attack and is welcomed back by a Flower hook shot that cannons into the square-leg fence.
16th over: Another impressive over from Ongondo costs just the one run as new batsman Taibu settles in.
15th over: Suji strikes again as Grant Flower swipes wildly outside off-stump and is caught behind. Zimbabwe: 45-3
14th over: Odoyo is taken out of the attack. Ongondo hits the spot immediately with a maiden.
13th over: Zimbabwe are no more than watchful against Suji as his superb spell continues.
12th over: Odoyo shows signs of tiring, straying on both sides of the wicket and conceding eight runs in the over.
11th over: Another lovely over from Suji sees just one more run added to the score.
10th over: Odoyo overpitches to Grant Flower and is driven down the ground for four.
9th over: Another breakthrough for Kenya as Campbell plays across the line to Suji and is trapped leg before. Zimbabwe: 26-2
8th over: Another boundary for Flower, this time square-driven off a wide Odoyo delivery.
7th over: Suji pays for dropping one in short as Flower pulls over mid-wicket for four.
6th over: A let-off for Zimbabwe as Campbell picks out Obuya at point but the fielder drops an easy chance.
5th over: Flower gets off the mark, turning Suji fine of square leg for an easy two. The bowler improves his line to leak no more runs.
4th over: Campbell cannot get Odoyo away, with one no-ball the only run conceded in the over.
3rd over: Wishart charges down the pitch at Martin Suji, edging behind after the ball deviates off the seam. Zimbabwe: 8-1
2nd over: Campbell gets off the mark with a thick edge guided down to third man for two.
1st over: An attempted run-out at the striker's end goes awry and four overthrows result.
Zimbabwe: Alistair Campbell, Craig Wishart, Dion Ebrahim,
Andy Flower, Grant Flower, Tatenda Taibu, Andy Blignaut, Heath
Streak (captain), Doug Marillier, Douglas Hondo, Henry Olonga.
Kenya: Kennedy Otieno, Ravindu Shah, Steve Tikolo (captain), Thomas Odoyo, Hitesh Modi, Maurice Odumbe, Collins Obuya, Tony Suji, Peter Ongondo, Martin Suji, Aasif Karim.
Umpires: Aleem Dar, S Venkataraghavan.