Japan, who stunned Spain 1-0 in their opener, also secured their place in the last eight from Group D with a 1-0 win over Morocco at Newcastle's St James' Park.
Uruguay, back in the Olympics for the first time since winning their second successive gold in 1928, had never previously lost an Olympic match but found no answer to first half goals from Moussa Konate even though Senegal played for 10 men for an hour after Abdoulaye Ba was sent off for hauling down Uruguay's skipper Luis Suarez.
The result put Olympic debutants Senegal top of Group A for a few hours with four points, followed by Uruguay on three, although Great Britain went top on goals scored after they beat UAE 3-1 in a later match.
Senegal were worth their victory which makes a place in the last eight alongside Brazil and Japan a real possibility.
Japan left it late to beat Morocco with Kensuke Nagai scoring the winner in the 84th minute when he lofted the ball over advancing goalkeeper Mohamed Amsif.
Brazil became the first side to qualify for the next stage thanks to their come-from-behind win against Belarus thanks to an inspired performance from Neymar, who scored and made the two other goals.
Brazil's victory, courtesy of a header from Alexandre Pato, a 30 metre free-kick from Neymar and a brilliantly-taken third by Oscar after being set up by a backheel from Neymar, meant Brazil have six points from their opening two Group C matches.
Brazilian-born Renan Bardini headed Belarus in front after eight minutes but although they lost they will go through if they beat Egypt on Wednesday.
Egypt were in action in the other Group C match played earlier at Old Trafford in Manchester and wasted plenty of chances in a 1-1 draw with New Zealand which did neither team's hopes of advancing much good.
Mexico have four points in Group B and look set to advance to the last eight, probably with South Korea who beat Switzerland 2-1 and also have four points.
- Related links