Union, the team against whom the 34-year-old Riquelme made his Boca debut 17 years ago, ended a run of 26 Argentine league matches without tasting victory in the most unlikely of places.
Riquelme made his highly anticipated comeback after taking a seven-month break from football following their defeat in the 2012 Libertadores Cup final.
The former Argentina playmaker captained a Boca side let down by defensive blunders as coach Carlos Bianchi rested several first choice players for Thursday's Libertadores Group One clash at home to Uruguayan champions Nacional.
Union were denied an early goal by an offside decision, which television replays showed may have been an error, but went on to score through Damian Lizio, Bruno Bianchi and Pablo Magnin between the 26th and 60th minutes.
"We needed this because we've been working hard and the team have been playing well without getting the breaks," said Union's coach Facundo Sava.
"We're going to fight [to avoid relegation] until the numbers say otherwise. We played a great game from the first minute," he told broadcasters Futbol Para Todos on the pitch.
Santiago Silva pulled one back with a spectacular diving header in the 89th minute but it was too little too late for out-of-sorts Boca
Boca are in the bottom half of the 'Final' championship table with four points after four matches.
Their fans' sole consolation will have been bitter rivals River Plate's 2-0 defeat away to San Lorenzo.
River, who had won their first three matches, were toppled from the top of the standings as San Lorenzo ended a run of three draws. River are now in second place, a point behind leaders Lanus, who were held 0-0 at Racing Club.
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 referee German Delfino, who immediately sent him to the stands because his team came out late for kick-off.
"What the referee did was lamentable... we arrived late because the police brought us a roundabout way. I asked [Delfino] to delay the start... [referees] with no class shouldn't officiate," an angry Diaz told reporters.
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 Ciclon (cyclone) nickname 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.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.