River had won their first three matches and led with Lanus, who were away to Racing Club in a later match, while San Lorenzo ended a run of three draws.
River's coach Ramon Diaz, the last man to steer San Lorenzo to a league title in 2007, was given a good reception by the Saints' faithful but not by the referee, who immediately sent him to the stands because his team came out late for kick-off.
Striker Denis Stracqualursi stunned River by giving the home side the lead after 41 seconds, scoring with a low drive from outside the box.
Central defender Mauro Cetto increased the lead with a header in the 19th minute as San Lorenzo lived up to their nickname by overrunning their opponents in the first half.
San Lorenzo had coach Juan Antonio Pizzi sent to the stands eight minutes from time for protesting and substitute Gonzalo Veron dismissed for a second booking two minutes later.
Tigre beat All Boys 2-1 at home in a match played behind closed doors following the death of a man last week shot during fighting between rival gangs of hooligan fans.