The former Grays Athletic striker broke the deadlock seven minutes before the break by slotting home Lee Tomlin's clever through-ball.
Michael Corcoran doubled the lead with a far-post header just seconds after his penalty had been saved by Richar
d Martin.
Jefferson Louis tapped home Diamonds' third when another spot-kick was parried at the second attempt.
Corcoran and Tomlin had early efforts held but O'Connor should have scored six yards out. Tomlin also clipped the far post with only the keeper to beat.
Mark Byrne's header was cleared off the line by Jack Hunt while Louis nodded over Tomlin's free-kick.
Tomlin went close at the start of the second half and then picked up his 10th booking of the season, meaning a two-match suspension.
Tomlin was tripped in the box for a penalty which Corcoran missed, only to head home almost immediately.
Substitute Craig Farrell was brought down by Martin for another spot-kick. Louis was twice denied but his rebound from the re-take made it 3-0.
Grays: Martin; Hunt, Glowacki, Hoyte, Zola; Baker (sub Rhodes, 57 mins), Vernazza (sub Wilson, 77 mins), Dean, Graham; Gray, Guy. Subs not used: Edwards, Bunce, Davis.
Diamonds: Roberts; Corcoran, Downer, Stuart, Robinson; Porter, Terry (sub Wolleaston, 77 mins), Byrne; O'Connor (sub Farrell, 72 mins), Louis, Tomlin (sub Pattisonj, 83 mins). Subs not used: Day, Smith.
Goals: O'Connor (38 mins, 0-1); Corcoran (70 mins, 0-2); Louis (79 mins, 0-3).
Bookings: Zola, Hunt, Tomlin (fouls).
Attendance: 476.
Full coverage in Sport on Monday