The Victorian paceman ripped through Hampshire's top-order, including the wicket of his in-form compatriot Jake Lehmann, on Friday, taking 4-32 for the Division One leaders as the bottom-placed club limped to 6-152 on a day when 50 overs were lost to rain at Southampton.
O'Neill had begun the English season by showcasing his all-round excellence, with knocks of 59, 36no and 41 complementing the five wickets he'd earned in their opening win over Glamorgan, but he'd been out of action for a couple of matches with a side injury.
After Hampshire had been put in, though, he took advantage of the favourable seaming conditions with a ferocious opening eight-over spell in which he took 3-14, including four-straight maidens.
Lehmann has been in great form with his previous six knocks in the championship 76, 92, 76, 50, 89 and 27, but O'Neill pinned him lbw for just four, offering a measure of small revenge for the batter's South Australia side having beaten his Victorian outfit in the Sheffield Shield final in March.
Elsewhere in the first division, Test opener Jake Weatherald continued his fine start to the season with his fourth score of over 50 in his first six matches for Leicestershire against Essex at Chelmsford.
After being put in, Weatherald, who'd scored a hundred against Glamorgan last month, and Sol Budinger (89) made hay in a partnership of 125 in 22 overs, with the Northern Territory product this time scoring 61 from 77 balls, featuring seven fours and a six.
Once they were out though, Leicester lost some impetus and were eventually bowled out for 333, with Essex finishing the first day on 1-10.
The Cameron Bancroft-captained Gloucestershire continue to struggle at the bottom of division two, this time bundled out for 154 by Northamptonshire.
Aussie quicks Harry Conway (2-54) and Liam Guthrie (1-8) proved fine support acts to Ben Sanderson's 5-47, with Conway trapping Bancroft lbw for a two-ball duck.Â
When Northants replied, another Australian paceman Gabe Bell evened things up by taking two wickets in two balls for Gloucester, getting rid of nightwatchman Conway before his compatriot Nathan McAndrew survived the hat-trick ball.
Jonny Bairstow scored his first century as Yorkshire captain to dig them out of a hole at Headingley after Surrey's Matthew Fisher, who's been named in the England squad to face New Zealand, dismissed Joe Root for 44 and Harry Brook for seven at Headingley.
But Bairstow (116no), who passed 15,000 first-class runs, and opener Adam Lyth (138no) guided Yorkshire to 4-362.