List of 2010 FIFA World Cup matches

A chronological list of 2010 FIFA World Cup matches.

All times shown are in South African Standard Time (UTC+02).

{| class="wikitable" ! Day !! Time !! Venue !! Stage !! Team 1 !! Result !! Team 2 ! rowspan="2" | Thursday 10 June || colspan="6" align="center" | Preliminary events ! rowspan="4" | Friday 11 June ! colspan="6" align="center" |
 * + 2010 World Cup schedule
 * - valign="middle"
 * - valign="middle"
 * 20:00 || Soweto || colspan="4" align="center" | FIFA Kick-off Celebration Concert
 * - valign="middle"
 * 14:00 || Johannesburg (SC) || colspan="4" align="center" | Opening Ceremony
 * - valign="middle"

First round of group stage matches
! rowspan="3" | Saturday 12 June ! rowspan="3" | Sunday 13 June ! rowspan="3" | Monday 14 June ! rowspan="3" | Tuesday 15 June ! rowspan="4" | Wednesday 16 June ! colspan="6" align="center" |
 * - valign="middle"
 * 16:00 || Johannesburg (SC) || rowspan="2" align="center" | Group A || align="right" | || align="center" | 1 – 1 || 🇲🇽 mexico
 * 20:30 || Cape Town || align="right" | || align="center" | 0 – 0 || 🇫🇷 france
 * - valign="middle"
 * - valign="middle"
 * 13:30 || Port Elizabeth || rowspan="2" align="center" | Group B || align="right" | || align="center" | 2 – 0 ||
 * 16:00 || Johannesburg (EP) || align="right" | || align="center" | 1 – 0 || 🇳🇬 nigeria
 * - valign="middle"
 * 20:30 || Rustenburg || rowspan="2" align="center" | Group C || align="right" | || align="center" | 1 – 1 || 🇺🇸 united states
 * - valign="middle"
 * - valign="middle"
 * 13:30 || Polokwane || align="right" | || align="center" | 0 – 1 || 🇸🇮 slovenia
 * - valign="middle"
 * 16:00 || Pretoria || rowspan="2" align="center" |Group D || align="right" | || align="center" | 0 – 1 || 🇬🇭 ghana
 * 20:30 || Durban || align="right" | || align="center" | 4 – 0 || 🇦🇺 australia
 * - valign="middle"
 * - valign="middle"
 * 13:30 || Johannesburg (SC) || rowspan="2" align="center" | Group E || align="right" | || align="center" | 2 – 0 ||
 * 16:00 || Bloemfontein || align="right" | || align="center" | 1 – 0 || 🇨🇲 cameroon
 * - valign="middle"
 * 20:30 || Cape Town || rowspan="2" align="center" |Group F || align="right" | || align="center" | 1 – 1 ||
 * - valign="middle"
 * - valign="middle"
 * 13:30 || Rustenburg || align="right" | || align="center" | 1 – 1 || 🇸🇰 slovakia
 * - valign="middle"
 * 16:00 || Port Elizabeth || rowspan="2" align="center" | Group G || align="right" | || align="center" | 0 – 0 ||
 * 20:30 || Johannesburg (EP) || align="right" | || align="center" | 2 – 1 || 🇰🇵 north korea
 * - valign="middle"
 * - valign="middle"
 * 13:30 || Nelspruit || rowspan="2" align="center" | Group H || align="right" | || align="center" | 0 – 1 ||
 * 16:00 || Durban || align="right" | || align="center" | 0 – 1 ||
 * - valign="middle"
 * - valign="middle"

Second round of group stage matches
! rowspan="3" | Thursday 17 June ! rowspan="3" | Friday 18 June ! rowspan="3" | Saturday 19 June ! rowspan="3" | Sunday 20 June ! rowspan="3" | Monday 21 June ! rowspan="5" | Tuesday 22 June || colspan="6" align="center" |
 * - valign="middle"
 * 20:30 || Pretoria || align="center" | Group A || align="right" | || align="center" | 0 – 3 ||
 * - valign="middle"
 * 13:30 || Johannesburg (SC) || rowspan="2" align="center" | Group B || align="right" | || align="center" | 4 – 1 || 🇰🇷 south korea
 * 16:00 || Bloemfontein || align="right" | || align="center" | 2 – 1 || 🇳🇬 nigeria
 * - valign="middle"
 * 20:30 || Polokwane || align="center" | Group A || align="right" | || align="center" | 0 – 2 || 🇲🇽 mexico
 * - valign="middle"
 * - valign="middle"
 * 13:30 || Port Elizabeth || align="center" | Group D || align="right" | || align="center" | 0 – 1 || 🇷🇸 serbia
 * - valign="middle"
 * 16:00 || Johannesburg (EP) || rowspan="2" align="center" | Group C || align="right" | || align="center" | 2 – 2 || 🇺🇸 united states
 * 20:30 || Cape Town || align="right" | || align="center" | 0 – 0 ||
 * - valign="middle"
 * - valign="middle"
 * 13:30 || Durban || align="center" | Group E || align="right" | || align="center" | 1 – 0 || 🇯🇵 japan
 * - valign="middle"
 * 16:00 || Rustenburg || align="center" | Group D || align="right" | || align="center" | 1 – 1 || 🇦🇺 australia
 * - valign="middle"
 * 20:30 || Pretoria || align="center" | Group E || align="right" | || align="center" | 1 – 2 ||
 * - valign="middle"
 * 13:30 || Bloemfontein || rowspan="2" align="center" | Group F || align="right" | || align="center" | 0 – 2 ||
 * 16:00 || Nelspruit || align="right" | || align="center" | 1 – 1 || 🇳🇿 new zealand
 * - valign="middle"
 * 20:30 || Johannesburg (SC) || rowspan="2" align="center" | Group G || align="right" | || align="center" | 3 – 1 || 🇨🇮 côte d'ivoire
 * - valign="middle"
 * - valign="middle"
 * 13:30 || Cape Town || align="right" | || align="center" | 7 – 0 || 🇰🇵 north korea
 * - valign="middle"
 * 16:00 || Port Elizabeth || rowspan="2" align="center" | Group H || align="right" | || align="center" | 1 – 0 ||
 * 20:30 || Johannesburg (EP) || align="right" | || align="center" | 2 – 0 ||
 * - valign="middle"
 * - valign="middle"

Third round of group stage matches
! rowspan="4" | Wednesday 23 June ! rowspan="4" | Thursday 24 June ! rowspan="4" | Friday 25 June ! rowspan="3" | Saturday 26 June || colspan="6" align="center" |
 * - valign="middle"
 * 16:00 || Rustenburg || rowspan="2" align="center" | Group A || align="right" | || align="center" |0 – 1 ||
 * 16:00 || Bloemfontein || align="right" | || align="center" | 1 – 2 ||
 * - valign="middle"
 * 20:30 || Durban || rowspan="2" align="center" | Group B || align="right" | || align="center" | 2 – 2 || 🇰🇷 south korea
 * 20:30 || Polokwane || align="right" | || align="center" | 0 – 2 || 🇦🇷 argentina
 * - valign="middle"
 * 20:30 || Polokwane || align="right" | || align="center" | 0 – 2 || 🇦🇷 argentina
 * - valign="middle"
 * 16:00 || Port Elizabeth || rowspan="2" align="center" | Group C || align="right" | || align="center" |0 – 1 || 🏴󠁧󠁢󠁥󠁮󠁧󠁿 england
 * 16:00 || Pretoria || align="right" | || align="center" | 1 – 0 ||
 * - valign="middle"
 * 20:30 || Johannesburg (SC) || rowspan="2" align="center" | Group D || align="right" | || align="center" | 0 – 1 || 🇩🇪 germany
 * 20:30 || Nelspruit || align="right" | || align="center" | 2 – 1 || 🇷🇸 serbia
 * - valign="middle"
 * 20:30 || Nelspruit || align="right" | || align="center" | 2 – 1 || 🇷🇸 serbia
 * - valign="middle"
 * 16:00 || Johannesburg (EP) || rowspan="2" align="center" | Group F || align="right" | || align="center" | 3 – 2 || 🇮🇹 italy
 * 16:00 || Polokwane || align="right" | || align="center" | 0 – 0 || 🇳🇿 new zealand
 * - valign="middle"
 * 20:30 || Rustenburg || rowspan="2" align="center" | Group E || align="right" | || align="center" | 1 – 3 || 🇯🇵 japan
 * 20:30 || Cape Town || align="right" | || align="center" | 1 – 2 ||
 * - valign="middle"
 * 20:30 || Cape Town || align="right" | || align="center" | 1 – 2 ||
 * - valign="middle"
 * 16:00 || Durban || rowspan="2" align="center" | Group G || align="right" | || align="center" | 0 – 0 || 🇧🇷 brazil
 * 16:00 || Nelspruit || align="right" | || align="center" | 0 – 3 || 🇨🇮 côte d'ivoire
 * - valign="middle"
 * 20:30 || Pretoria || rowspan="2" align="center" | Group H || align="right" | || align="center" | 1 – 2 || 🇪🇸 spain
 * 20:30 || Bloemfontein || align="right" | || align="center" | 0 – 0 ||
 * - valign="middle"
 * 20:30 || Bloemfontein || align="right" | || align="center" | 0 – 0 ||
 * - valign="middle"

Knockout stage matches
! rowspan="2" | Sunday 27 June ! rowspan="2" | Monday 28 June ! rowspan="2" | Tuesday 29 June ! Wednesday 30 June ! Thursday 1 July ! rowspan="2" | Friday 2 July ! rowspan="2" | Saturday 3 July ! Sunday 4 July ! Monday 5 July ! Tuesday 6 July ! Wednesday 7 July ! Thursday 8 July ! Friday 9 July ! Saturday 10 July ! Sunday 11 July
 * 16:00 || Port Elizabeth || rowspan="8" align="center" | Round of 16 || align="right" | || align="center" | 2 – 1 || 🇰🇷 south korea
 * - valign="middle"
 * 20:30 || Rustenburg || align="right" | || align="center" | 1 – 2 (a.e.t.) || 🇬🇭 ghana
 * - valign="middle"
 * - valign="middle"
 * 16:00 || Bloemfontein || align="right" | || align="center" | 4 – 1 || 🏴󠁧󠁢󠁥󠁮󠁧󠁿 england
 * - valign="middle"
 * 20:30 || Johannesburg (SC) || align="right" | || align="center" | 3 – 1 || 🇲🇽 mexico
 * - valign="middle"
 * 16:00 || Durban || align="right" | || align="center" | Match 53 || 🇸🇰 slovakia
 * - valign="middle"
 * 20:30 || Johannesburg (EP) || align="right" | || align="center" | Match 54 ||
 * - valign="middle"
 * 16:00 || Pretoria || align="right" | || align="center" | Match 55 || 🇯🇵 japan
 * - valign="middle"
 * 20:30 || Cape Town || align="right" | || align="center" | Match 56 ||
 * - valign="middle"
 * colspan="6" rowspan="2" align="center" | Rest days
 * - valign="middle"
 * 16:00 || Port Elizabeth || rowspan="4" align="center" | Quarter-finals || align="right" | W53 || align="center" | Match 57 || W54
 * - valign="middle"
 * 20:30 || Johannesburg (SC) || align="right" | || align="center" | Match 58 || 🇬🇭 ghana
 * - valign="middle"
 * 16:00 || Cape Town || align="right" | || align="center" | Match 59 || 🇩🇪 germany
 * - valign="middle"
 * 20:30 || Johannesburg (EP) || align="right" | W55 || align="center" | Match 60 || W56
 * - valign="middle"
 * colspan="6" rowspan="2" align="center" | Rest days
 * - valign="middle"
 * 20:30 || Cape Town || rowspan="2" align="center" | Semi-finals || align="right" | W58 || align="center" | Match 61 || W57
 * - valign="middle"
 * 20:30 || Durban || align="right" | W59 || align="center" | Match 62 || W60
 * - valign="middle"
 * colspan="6" rowspan="2" align="center" | Rest days
 * - valign="middle"
 * 20:30 || Port Elizabeth || align="center" | Match for third place || align="right" | L61 || align="center" | Match 63 || L62
 * 20:30 || Johannesburg (SC) || align="center" | Final || align="right" | W61 || align="center" | Match 64 || W62
 * }