Flyhalf O'Conner succeeded with five penalties as the Australians secured their first win of the season after losses to the Reds and Sharks and a 22-22 draw with the Blues in their previous match.
"Our effort has been fantastic this year but we had a one-point loss to the Reds, lost to the Sharks playing with 14 men and drew last week," Force captain Nathan Sharpe said.
"Before the game we spoke about how there is no reward without effort so it was great to get some reward tonight," he added.
Heavy rain fell throughout the match but, despite the conditions, both teams showed admirable handling skills and a propensity to run the ball whenever given an opportunity.
The Force were first to profit from an expansive approach and opened the scoring in the 10th minute when outside centre Nick Cummins found himself on the end of a sweeping backline move to slide over in the corner for an unconverted try.
The 20-year-old O'Conner then succeed with two penalties before his opposite number Elton Jantjies narrowed the gap to just two points, despite the home side spending most of the half camped in their own territory, with three successful penalty kicks of his own.
O'Conner ensured the visitors went to the break holding a 14-9 lead thanks to a long-range penalty after the halftime hooter had sounded.
Ten minutes into the second half the Force were reduced to 14 men when O'Conner received a yellow card for not rolling away at a ruck after the visitors had been warned by referee Mark Lawrence for repeated infringements at the breakdown.
Jantjies nailed his fourth three-pointer from the resulting penalty and, five minutes later, the home side took the lead for the first and only time in the match when Jantjies popped over a close-range drop goal.
The Force struck back immediately after fullback Cameron Shepherd gathered his own kick before feeding wing Alfie Mafi, who galloped over untouched for a converted try.
Trailing 21-15 the Lions began to lose their discipline and O'Conner punished them with two penalties to kill the match off.
"The big thing tonight was our discipline. We gave away too many penalties and it kept them in the game," said Lions skipper Franco van der Merwe.
Teams
Lions:
15. Jaco Taute, 14. Lionel Mapoe, 13. Jannie Boshoff, 12. Waylon Murray,
11. Michael Killian, 10. Elton Jantjies, 9. Rory Kockott, 8. Warren Whiteley,
7. Josh Strauss, 6. Derick Minnie, 5. Franco van der Merwe (captain), 4. Wikus
van Heerden, 3. Partic Cilliers, 2. Bandise Maku, 1. JC Janse van Rensburg
Substitutes: 16. Martin Bezuidenhout, 17. Kevin Buys, 18. Michael Rhodes, 19.
Baywatch Grobbelaar, 20. Jano Vermaak, 21. Burton Francis, 22. Deon van
Rensburg
Western Force:
15. Cameron Shepherd, 14. Alfie Mafi, 13. Nick Cummins, 12. Gene Fairbanks, 11.
David Smith, 10. James O’Connor, 9. Brett Sheehan, 8. Ben McCalman, 7. Matt
Hodgson, 6. Richard Brown, 5. Nathan Sharpe, 4. Sam Wykes, 3. Tim Fairbrother,
2. Ben Whittaker, 1. Pek Cowan
Substitutes: 16. Nathan Charles, 17. Kieran Longbottom, 18. Tom Hockings, 19.
Tevita Metuisela, 20. James Stannard, 21. Matt Brandon, 22. Pat Dellit