South Africa beat Zimbabwe by 120 runs in the second match at Bloemfontein and clinched the 3-match ODI series 2-0 with one match to go.
South Africa was bowled out for just 198 runs on a pitch which was showing menacing bounce, they were saved the embarrassment all thanks to a career-best 60 by Dale Steyn and later defended it successfully with the help of Imran Tahir's six-fer.
Imran Tahir finished with 6/24 in 6 overs, including a hat-trick. He removed Sean Williams, Peter Moor and Brandon Mavuta in what is called a broken hat-trick and thus became the 4th South African and overall 40th bowler in the world to take a hat-trick in ODI cricket.
Here is the full list of bowlers who have taken hat-tricks in ODI cricket -
1. Jalal-ud-din (Pakistan) vs Australia at Hyderabad (Pakistan), 1982
2. Bruce Reid (Australia) vs New Zealand at Sydney, 1986
3. Chetan Sharma (India) vs New Zealand at Nagpur, 1987
4. Wasim Akram (Pakistan) vs West Indies at Sharjah, 1989
5. Wasim Akram (Pakistan) vs Australia at Sharjah, 1990
6. Kapil Dev (India) vs Sri Lanka at Kolkata, 1991
7. Aaqib Javed (Pakistan) vs India at Sharjah, 1991
8. Danny Morrison (New Zealand) vs India at Napier, 1994
9. Waqar Younis (Pakistan) vs New Zealand at East London, 1994
10. Saqlain Mushtaq (Pakistan) vs Zimbabwe at Peshawar, 1996
11. Eddo Brandes (Zimbabwe) vs England at Harare, 1997
12. Anthony Stuart (Australia) vs Pakistan at Melbourne, 1997
13. Saqlain Mushtaq (Pakistan) vs Zimbabwe at The Oval, 1999
14. Chaminda Vaas (Sri Lanka) vs Zimbabwe at Colombo, 2001
15. Mohammad Sami (Pakistan) vs West Indies at Sharjah, 2002
16. Chaminda Vaas (Sri Lanka) vs Bangladesh at Pietermaritzburg, 2003
17. Brett Lee (Australia) vs Kenya at Durban, 2003
18. James Anderson (England) vs England at The Oval, 2003
19. Steve Harmison (England) vs India at Nottingham, 2004
20. Charl Langeveldt (South Africa) vs West Indies at Barbados, 2005
21. Shahadat Hossain (Bangladesh) vs Zimbabwe at Harare, 2006
22. Jerome Taylor (West Indies) vs Australia at Mumbai, 2006
23. Shane Bond (New Zealand) vs Australia at Hobart, 2007
24. Lasith Malinga (Sri Lanka) vs South Africa at Guyana, 2007
25. Andre Flintoff (England) vs West Indies at St. Lucia, 2009
26. Farveez Maharoof (Sri Lanka) vs India at Dambulla, 2010
27. Abdur Razzak (Bangladesh) vs Zimbabwe at Dhaka, 2010
28. Kemar Roach (West Indies) vs the Netherlands at New Delhi, 2011
29. Lasith Malinga (Sri Lanka) vs Kenya at Colombo, 2011
30. Lasith Malinga (Sri Lanka) vs Australia at Colombo, 2011
31. Daniel Christian (Australia) vs Sri Lanka at Melbourne, 2012
32. Thisara Perera (Sri Lanka) vs Pakistan at Colombo, 2012
33. Clint McKay (Australia) vs England at Cardiff, 2013
34. Rubel Hossain (Bangladesh) vs New Zealand at Dhaka, 2013
35. Prosper Utseya (Zimbabwe) vs South Africa at Harare, 2014
36. Taijul Islam (Bangladesh) vs Zimbabwe at Dhaka, 2014
37. Steven Finn (England) vs Australia at Melbourne, 2015
38. JP Duminy (Sri Lanka) vs Sri Lanka at Sydney, 2015
39. Kagiso Rabada (South Africa) vs Bangladesh at Mirpur, 2015
40. James Faulkner (Australia) vs Sri Lanka at Colombo, 2016
41. Taskin Ahmed (Bangladesh) vs Sri Lanka at Dambulla, 2017
42. Wanindu Hasaranga (Sri Lanka) vs Zimbabwe at Galle, 2017
43. Kuldeep Yadav (India) vs Australia at Kolkata, 2017
44. Shehan Madushanka (Sri Lanka) vs Bangladesh at Dhaka, 2018
45. Imran Tahir (South Africa) vs Zimbabwe at Bloemfontein, 2018
Note -
* Aaqib Javed achieved this feat at the age of 19 years and 81 days - the youngest bowler to take a hat-trick in ODI cricket.
* Lasith Malinga has taken most hat-tricks (4) in ODIs and is the only bowler to take 4 wickets in 4 balls in international cricket. He achieved the feat against South Africa at Guyana in World Cup 2007.
* India's Chetan Sharma was the first bowler ever to take a hat-trick in a World Cup. He achieved the feat against New Zealand in 1987 World Cup.
* Chetan Sharma, Saqlain Mushtaq, Chaminda Vaas, Brett Lee, Lasith Malinga (twice), Kemar Roach, Steven Finn and JP Duminy have taken hat-tricks in ICC Cricket World Cup.
* Imran Tahir achieved this feat at the age of 39 years and 190 days - the oldest bowler to take a hat-trick in ODIs.