Luis Suarez scored the only goal of the game in the 43 minute, which allowed Uruguay to top Group A.
Mexico also progressed to the last 16 due to a superior goal difference to hosts South Africa.
In the second match of the Group, hosts South Africa beat France 2-1.
Bongani Khumalo and Katlego Mphela scored for South Africa, while substitute Florent Malouda converted Franck Ribery's pass on 70 minutes.