It ends an awful 2019 campaign at Mt Smart, with just three wins from 10 games, and two of those victories against the lowly Bulldogs and Titans.
There were the usual smattering of odd errors, with Blake Green managing an air swing at one point as he attempted a grubber, and Roger Tuivasa-Sheck getting pushed over the sideline after getting too cute with a kick return.
The most bizarre was an Adam Pompey goalline dropout early in the second half, which travelled 30 metres sideways and three metres forward.
Even the opposition was smirking, as they were gifted a penalty in front of the posts.
Pompey was a late inclusion, replacing Patrick Herbert at right centre.
The Rabbitohs' first try was a perfect snapshot of the Warriors in 2019. They had defended strongly for four tackles as the Rabbitohs returned the ball out of their own territory, twice lifting and driving the players metres back. But they overdid it on the fifth tackle – leading to a penalty – and Connor Murray broke three tackles through the heart of the Warriors defence, though there was a suspicion of double movement, but the bunker chose not to examine the play closely.
South Sydney extended their lead though a basic play down the left edge, with the Warriors defenders misreading a situation where they weren't overmatched.
With the Prime Minister watching on, the home side needed to respond, and were sparked into action by a strong Ken Maumalo run. That momentum earned a penalty and Tuivasa-Sheck's fast feet allowed Pompey to score his first NRL try in the 35th minute.
There was more to come, as Ken Maumalo latched onto a Kodi Nikorima grubber in full flight, after the Kiwis half made a break from his own half, to score their second try in the space of three minutes.
Two penalties allowed the Rabbitohs to extend their lead in the second half, before Murray's second try – which came again through the heart of the Warriors defence – gave the Sydney team a 12 point buffer.
The Warriors' momentum was stilted by the loss of Issac Luke (head knock) and Chanel Harris-Tavita (wrist), though Luke passed his assessment and returned later in the half.
But any time the Warriors looked to get a foothold in the contest, cheap penalties gave the Rabbitohs a free pass out of their own territory.
They hung in gamely, but the Rabbitohs had all the best chances, and a Dane Gagai try in the 70th minute, after a long range break, killed any hope of an improbable comeback.
Rabbitohs 31 (C Murray 2, A Johnston, D Gagai tries; A Reynolds 7 goals, field goal)
Warriors 10 (A Pompey, K Maumalo tries; I Luke goal)
Halftime 14-10