Kenya 217-7 (50 overs) beat Bangladesh 185 all out (47.2 overs) by 32 runs
Cricket minnows Kenya have pulled off the unthinkable by qualifying for the Super Six stage with a 32-run victory over Bangladesh.
Maurice Odumbe, who earlier smashed an unbeaten 52, took four wickets, while captain Steve Tikolo grabbed three as their opponents were bowled out for 185 with 16 balls remaining.
But the result piles on the misery for Bangladesh, whose winless streak in one-day internationals has now been extended to 32.
48th over: Tikolo's third wicket seals victory for Kenya, dismissing Islam who falls victim to some excellent glovework from Otieno after making a swipe and failing to get his foot back. Bangladesh: 185 all out
47th over: New batsman Manjural Islam grabs two runs as the target continues to move out of their grasp.
46th over: The Kenyan jump for joy as Rafique is caught by Modi at square leg boundary after trying to take a whack at Tikolo's delivery. Bangladesh: 180-8. The Kenyan captain grabs another vital wicket with the next ball as Khan is caught at Angara, who causes a few gasps after almost dropping the ball before catching on his second attempt. Bangladesh: 180-9
45th over: Bangladesh are running at every opportunity with Rafique making a luck escape when Obuya's throw is not quite there in time.
44th over: Rafique finally gets on the scoresheet, earning two singles off shots to the covers.
43rd over: Two extremely valuable fours glide off the bat of Khan to give his team a much needed boost.
42nd over: Mohammad Rafique is the new man in, hoping to beat his unbeaten 41 against New Zealand. He is showing few signs of repeating that so far.
41st over: Odumbe claims his fourth scalp as Khaled Mahmud charges down the wicket, misses the ball and is stumped by Otieno.
40th over: Another tight over from Tikolo means that Bangladesh now need a run a ball for victory.
39th over: Odumbe breaks through for his third wicket as Sanwar hoists the ball deep into the grasp of Martin Suji.
38th over: Khan just beats the outstretched arms of Obuya for two runs. The extra pressure causes Tikolo, the new bowler, to produce a wide the next ball.
37th over: Odumbe keeps the batsmen pegged down to just a single each.
36th over: Khan is a tad fortunate with his cut shot to fine leg which paves the way for three runs. The over brings a total of eight runs.
35th over: Otieno is barking instructions to the fielders from behind the stumps after a number of shoddy pick-ups by his team-mates. Hossain and Khan are showing pace between the wickets but manage just two runs of Odumbe's latest foray.
34th over: Sanwar Hossain plays and misses at the ball but manages to put his foot back in the crease before Otieno whips off his bails.
33rd over: Another boundary from Khan gives some additional hope to the Bangladeshis.
32nd over: Some Kenyan mis-fielding allows even the bulky Khan to make it back for a second run.
31st over: Khan nudges away four more runs to take his tally to 13 and leave his side needing 93 to win off 113 balls.
30th over: Akram Khan lofts the ball but just clears the fielder at mid-on for four.
29th over: Tushar Imran's innings ends in some style as Odumbe picks up his second wicket, caught beautifully at point by the sub Angara.
28th over: Tushar just evades the diving grasp of Odumbe through extra cover to pick up his fourth boundary. It moves him on to 48.
27th over: Maurice Odumbe is brought into the attack and strikes with his third ball as Kapali nicks an attempted drive to Otieno.
26th over: Tushar unnecessarily smashes the ball high into the air and is lucky to watch it land out of harm's way.
25th over: Some good fielding around the ground ensures only two runs come off Obuya's latest over.
24th over: Tony Suji is brought on to bowl. He will be bidding to reduce his average from 72 runs per wicket.
23rd over: Bangladesh's resurgence, however temporary, continues off Obuya. Tushar makes space at the crease and pounds the ball to point for four.
22nd over: Kapali unleashes a massive six to square leg. He follows that with a four the next ball. A punishing over for Ongondo.
21st over: Obuya calls for a change in the field, in a bid for a more attacking approach. It sees the runs flow more freely but Tushar nearly sees his innings end through a run out. He just grounds his bat in time.
20th over: Ongondo unleashes a hideously wide delivery at the end of his over.
19th over: Obuya is regularly getting some good turn and bounce out of the pitch. Despite that, Tushar and new batsman Alok Kapali manage five runs off the over.
18th over: Some quick running between the wickets brings two more much needed runs to Bangladesh's total.
17th over: Collins Obuya, the match winner against Sri Lanka, comes into the fray. He strikes immediately as Mashud edges to Shah at first slip - a superbly taken catch over his shoulder.
16th over: Tushar tries to smack Ongondo over mid-off for six but the ball stops dead a few metres short of the boundary and he only gets two runs for his efforts. The 50 comes up for Bangladesh.
15th over: Suji looks to be tiring in what is his eighth consecutive over. Mashud makes the most of that with a delightfully caressed four through mid-off. It brings a big cheer from the crowd and a drinks break.
14th over: Ongondo produces a much better over, giving away just one run in the process.
13th over: Otieno gives a big shout up for a catch behind, which is turned down by umpire de Silva.
12th over: After playing and missing yet again, Tushar finally puts bat to ball and and picks up 10 runs in two balls. First he drives a four through extra cover before smashing a six over mid-wicket.
11th over: Mashud narrowly avoids being run out despite a sensational direct hit on the stumps by Modi.
10th over: Peter Ongondo replaces Suji with the ball and continues to keep the Bangladeshis pinned down.
9th over: Odoyo is now off the field receiving some treatment. In his absence, Suji produces another strong over.
8th over: Odoyo looks to be struggling with a groin injury. He starts limping after his first delivery and then bowls two successive wides. But he bounces back with an lbw appeal off the last ball, which is turned down.
7th over: A solitary leg bye is the only run from Suji's latest over.
6th over: Tushar finally gets off the mark as he pierces the off-side field. Two runs come off the over.
5th over: Ashraful is given his marching orders after being trapped lbw by Suji. He is understandably reluctant to go after nicking the ball.
4th over: Odoyo three times beats the bat but fails to lure Tushar Imran into nicking it.
3rd over: Al-Sahariar smashes the ball for six over mid-wicket. But he is out two balls later after taking another swipe and edging it to Kennedy Otieno, who took an excellent diving catch.
2nd over: Thomas Odoyo takes on the new ball with Suji and promptly bowls back-to-back wides.
1st over: Al-Sahariar gets off the mark with a boundary, flicking the ball off his legs to mid-on. He hits another Martin Suji for four over the head of square leg.
50th over: Odumbe reaches the half-century mark after cutting Baisya behind square leg for four.
49th over: Odumbe guides Kenya past the magical 200-mark with great straight drive off Mahmud for a boundary.
48th over: Tapash Baisya takes a wicket to keep up the pressure on the Kenyans as Obuya makes a strange shot selection, trying to flick the ball over the stumps but failing dismally.
47th over: Bangladesh are starting to panic as Obuya hoiks Hossain over mid-wicket for six and Kenyaacquire14 runs off the over.
46th over: Kenya steadily amassing the runs as Obuya and Odumbe take two runs apiece off Ashraful.
45th over: Obuya takes advantage of Hussain's poor delivery to grab his first boundary.
44th over: Poor fielding again in evidence, but Obuya only grabs a single after his shot goes cleanly through the gully's legs/
43rd over: Sanwar is let down by Ashraful in the field. He looks to have the ball covered but lets it through his legs and over the boundary rope for four. Yet more dire Bangladeshi fielding. The next ball, though, Sanwar traps Odoyo lbw.
42nd over: At long last a boundary arrives as Odumbe sweeps the ball to square leg with exquisite timing.
41st over: Some soft hands on the bat by Odumbe bring up another single and take Kenya past 150.
40th over: Odumbe and Odoyo opt to nudge the singles off their legs but to little affect.
39th over: Some curious shot selection from Odumbe does little to ease the pressure on the Kenyans but some unorthodox sweep shots still just about keep the run rate ticking over. The game has now not seen a boundary for 10 overs.
38th over: Odumbe and Odoyo continue to steer the quick singles off Ashraful with relative ease.
37th over: Odumbe narrowly escapes being run out. Already he is doing some quick running between the wickets.
36th over: Mohammad Ashraful joins the bowling fray. His economy rate of 6.58 in one-day internationals should not trouble Kenya too much.
35th over: Modi finally tries to hit out but with dire consequences. The ball flies high into the air off his bat and is caught by Sanwar off his own bowling.
34th over: Modi and Maurice Odumbe pick off Kapali with relative ease to move the total on by six runs.
33rd over: Some stunning turn by Sanwar beats Tikolo and brings his leg stump crashing down as he tries to sweep the ball to fine leg.
32nd over: Alok Kapali is brought on to break Kenya's fourth-wicket partnership. Tikolo continues to poorly time the ball but with little danger.
31st over: Another Bangladeshi mis-field, this time by Mohammad Ashraful, allows Tikolo and Modi through for a run.
30th over: Tikolo is beginning to hit out, but with little confidence. Two mis-timed strikes bring him six runs off two balls.
29th over: Sanwar Hossain's off-spin is introduced to the game and immediately the Kenyans finally pass the 100.
28th over: Mashud lets go another catch, this time off Modi. Twice it seems to land in Mashud's gloves but he eventually drops it as he stumbles to the ground. The bowler Mahmud is left fuming. A maiden brings scant consolation.
27th over: Kenya edge towards the century mark as Tikolo and Modi nudge away for four well earned runs.
26th over: Another good over from Mahmud and some strong fielding contain the Kenyans to just one run.
25th over: Tikolo shows delightful touch to cut the ball to the third man boundary. It takes Kenya to 94 at the halfway point in their innings.
24th over: Al Sahariar drops Tikolo at mid-on - a simple take really. The next ball should also have stayed in the gloves of Mashud but he too spilt it.
23rd over: The pace of the outfield is clear to see as a lacklustre edge from Modi races away for four.
22nd over: Hitesh Modi comes out to bat withtout a helmet and already looks nervous under two Mahmud bouncers.
21st over: Shah lofts the ball over Rafique's head. It bounces twice before cruising over the boundary. He follows suit the next ball over extra cover. A third attempt sees him caught, however, by Akram Khan at cover.
20th over: Mashud takes a more aggressive field in an attempt to pile the pressure on Tikolo and Shah. The pair nudge two runs off the over.
19th over: New batsman Steve Tikolo gets off the mark with a single to point.
18th over: Manjural catches a big hit by Patel deep on the square leg boundary to give Khaled Mahmud his first wicket.
17th over: Shah reads Rafique well and twice cuts him for four. It leads to a drinks break.
16th over: Patel tries twice to charge down the wicket and slog Mahmud to the boundary. Twice he fails. He finally succeeds on the third attempt.
15th over: Mohammad Rafique's spin variation is introduced. Three runs come from the bat.
14th over: Khaled Mahmud is the first bowling change and almost strikes immediately when he catches Shah's glove on the way to Mashud. But umpire Asoka da Silva gives a wide instead.
13th over: Manjural produces another excellent ball to which Patel gets a thick edge to narrowly miss his stumps and run to the boundary rope. He follows that with two rather more legitimate fours via a cut and a drive.
12th over: Patel and Shah go for a risky single under the pressure but just about manage to get to safety.
11th over: Khaled Mahmud shows great reflexes in the field to stop a certain four from Shah.
10th over: Patel is easily pinned down by another strong Tapash over and looks in disarray with the bat. A maiden for Tapash.
9th over: Manjural and his team-mates are certain he has picked up his second wicket following a catch by Khaled Mashud off a perceived edge by Patel. The umpire begs to differ. Patel responds by guiding a later delivery for four.
8th over: Tapash puts some extra zing into his bowling, unleashing a rapid bouncer. But some extra movement merely brings up a wide.
7th over: "Too high" is the response from the umpire as Manjural launches his latest lbw appeal against Patel.
6th over: Shah guides a rising delivery in superb fashion to the cover boundary for four. A similar shot follows shortly afterwards but only just clears the fielders and goes for two runs.
5th over: Shah and Patel are taking their time to settle at the crease and just pick two runs off the over.
4th over: Tapash enjoys an excellent second over, conceding a solitary single.
3rd over: Manjural is getting great movement with the ball, twice coming close to forcing a nick from Shah.
2nd over: Tapash Baisya gives out a big shout as his third ball careers into the pads of Ravindu Shah. Rightly the appeal is rejected. Three balls later an edge by Brijal Patel lands just shy of the slip cordon.
1st over: Kennedy Otieno is caught behind by Khaled Mashud off Manjural Islam's fourth delivery.
Kenya: K O Otieno, R D Shah, B J Patel, S O Tikolo (Capt) H S Modi, M O Odumbe, T M Odoyo, C O Obuya, A O Suji, P J Ongondo M A Suji.
Bangladesh: Al Sahariar, Mohammad Ashraful, Sanwar Hossain, Alok Kapali, Akram Khan, Tushar Imran, Khaled Mashud (Capt) Khaled Mahmud, Mohammad Rafique, Tapash Baisya, Manjural Islam.