Boca suffer shock defeat, River finally win
River's win also moved the defending champions off the bottom of the Apertura championship table and came in their first match since former Argentina midfielder Diego Simeone quit as coach.
San Lorenzo, held 3-3 by Newell's Old Boys who had one player and their coach sent off late in a fiery game, stayed top on goal difference from surprise package Tigre, who beat Godoy Cruz 2-0.
San Lorenzo and Boca started the weekend level on points at the top and San Lorenzo slipped up first, drawing after they had led 3-1 with 10 minutes to play.
But Boca wasted the chance to take advantage.
Mariano Uglessich headed Velez Sarsfield in front after only 17 minutes at a stunned Bombonera when he was left completely unmarked in the Boca area.
Substitute Nicolas Cabrera increased Velez's lead less than one minute after coming on when he swept past three defenders and shot low into the corner in the 51st minute.
Juan Forlin pulled one back, scoring from a rebound after Juan Roman Riquelme's free kick struck the underside of the crossbar in the 58th minute.
But a superbly taken goal five minutes later by teenager Jonathan Cristaldo restored Velez's two-goal lead.
Rodrigo Palacio pulled another back with six minutes left but it was not enough for Boca.
San Lorenzo and Tigre have 30 points from 15 games, with four each to play, and Boca are one behind.
At the other end of the table, River beat Independiente 1-0 to end their long winless run in their first game under caretaker coach Gabriel Rodriguez.
Colombia striker Radamel Falcao Garcia headed the winner from a corner in the second half to lift River above Godoy Cruz on goal difference.