The 23-year-old was a class above at the Madejski Stadium and finished off a period of concerted pressure from the home side's pack to score easily from 20 metres out.
Worcester captain Chris Pennell kicked all nine of the away side's points as the Warrior's fell to their 12th consecutive defeat of the season.
O'Connor pushed a fourth minute penalty wide as Irish looked to force territorial advantage and capitalise on their visitor's handling errors.
The Australian had better luck with his second effort on 12 minutes, converting from mid-way inside Worcester's half after the Warriors were penalised by Wayne Barnes at the breakdown.
The away side were searching for their first league win since March and managed to restore parity after Pennell's success with his first penalty attempt of the afternoon.
O'Connor was rarely out of the action throughout, jinking and darting when with the ball in hand and effective with the boot from deep.
The full-back, who has 44 caps for Australia, slotted a penalty just before the break, cancelling out Pennell's second effort of his own five minutes earlier.
With both sides struggling for tries this year, just 26 between them in the league before today, the dominance of the boot came as no surprise as the sides went into half time with the scores level.
The theme didn't shift early in the second period with O'Connor striking two further penalties to regain the lead for the hosts.
Irish were dominant up front, persistently forcing the Warrior's pack into conceding fouls with O'Connor the grateful recipient.
The 23-year-old made it three from three in the second half on 55 minutes before going over for his try moments later.
It was just reward for the game's stand-out player, who added the bonus points after converting from 15 metres in from the right-hand touchline.
Worcester finished the contest strongly, with Pennell adding to his personal tally with another penalty, but the Exile's onslaught immediately after the break had done the damage.