Juanmi had levelled matters on 25 minutes after Nils Quaschner opened the scoring in a relatively quiet first half.
But the game came to life when half-time substitute Rodriguez volleyed home eight minutes after coming on, only for the German side to score three times in quick succession to move firmly into the ascendancy.
Patrick Strauß’s goal with a quarter-hour remaining looked to have put the game well beyond Saints, but debutant Cédric Soares pulled one back before crossing to allow Rodriguez to nod in his second of the night and ensure the margin of defeat was a small one.
Ronald Koeman named a starting XI consisting only of those players with at least a week’s pre-season training under their belts, meaning there were debuts for new signings Maarten Stekelenburg and Juanmi.
Jack Stephens and Jordan Turnbull also started following their loan spells at Swindon, while Gastón Ramírez made the team after spending much of last year with Hull.
After a quiet start, the game sprung to life midway through the first half with two goals in as many minutes.
It was the Red Bulls who struck first, with Quaschner worming his way past Stekelenburg before converting from a tight angle despite a couple of Saints defenders desperately retreating onto the goal line.
But the lead was to last barely 60 seconds, as the impressive Lloyd Isgrove lost his man down the left before cutting the ball back to allow Juanmi to finish smartly with his left.
The pair swapped roles three minutes later, as the Spaniard got down the right and teed the ball up for Isgrove, but the winger’s header was clawed away superbly by Leipzig goalkeeper Fabio Coltorti.
Isgrove had another chance to get himself on the scoresheet late in the half after good work by Sam Gallagher, but Coltorti made another good stop.
Both sides made wholesale changes at the break, with Rodriguez one of seven players drafted in by Koeman. The Red Bulls, meanwhile, named a completely different XI for the second half.
And it took the returning striker just eight minutes to make his impact, volleying home with his left after a good cross from fellow substitute Sam McQueen.
But, as Leipzig’s was in the first half, Saints’ lead was short-lived as Timo Mauer poked home just two minutes later.
They would go on to restore their advantage before the hour mark, as Tim Sebastian headed home from close range before Zsolt Kalmár nipped in to add a fourth goal on 66 minutes.
Common made a further two changes soon afterwards, bringing on Cédric for his debut as well as handing Shane Long a run-out.
The Irishman could well have got quickly got himself onto the scoresheet, but failed to make a meaningful connection with another smart delivery from McQueen.
Instead it was Leipzig who added the game’s seventh goal, as Strauß slotted through a crowd of bodies and beyond Kelvin Davis.
But the scoring was not complete – Cédric latched onto a chipped pass from Armani Little before cutting onto his left and firing beyond substitute goalkeeper Benjamin Bellot with 11 minutes remaining.
Cédric then turned provider in injury time, crossing with his left for Rodriguez to head home at the far post.
But there was to be no last-gasp leveller as the full-time whistle blew soon afterwards, bringing an extraordinary second half to a close.
Southampton: Maarten Stekelenburg (Kelvin Davis 46), Jason McCarthy, Jack Stephens (c), Jordan Turnbull (Will Wood 46), Josh Debayo (Cédric Soares 69), Dominic Gape, Harrison Reed (Armani Little 46), Gastón Ramírez (Sam McQueen 46), Lloyd Isgrove (Jake Hesketh 46), Juanmi (Ryan Seager 46 (Shane Long 69)), Sam Gallagher (Jay Rodriguez 46).
Goals: Juanmi (25), Rodriguez (53 & 90+1), Cédric (79)
RB Leipzig: Fabio Coltorti (Benjamin Bellot 46), Ken Gipson (George Teigl 46), Willi Orban (Tim Sebastian 46), Atınç Nukan (Jorge Alexander 46), Anthony Jung (Dominic Franke 46), Stefan Hierländer (Patrick Strauß 46), Rani Khedira (Zsolt Kalmár 46), Stefan Ilsanker (c) (Diego Demme 46), Emil Forsberg (Timo Mauer 46), Nils Quaschner (Vincent Rediga 46), Marcel Sabitzer (Dominik Kaiser 46).
Goals: Quaschner (24), Mauer (55), Sebastian (59), Kalmár (66), Strauß (75)