O'Neill was drafted in the second round and 11th overall by the BC Lions in the 2011 CFL Draft and was signed by the team on May 30, 2011. His first two years with the BC Lions were spent on the injured list, a conventional way in the CFL to hide players from the salary cap while keeping the player protected from poaching by other teams. In his third year the team restructured the contract of the incumbent Paul McCallum so that O'Neill and McCallum could share the role. In the first exhibition game of that season in Calgary, he kicked five field goals, including a 47-yard attempt in the driving rain that went in off the crossbar to win the game with less than a minute left. He played the second exhibition game as well when McCallum picked up a last-minute injury in the pregame warm up, but got no field attempts in that game. McCallum's injury was serious enough to keep him out of the first regular season game, so on June 28, 2013, O'Neill suited up for his first regular season game. On August 16, 2013, entering Week 8 of the 2013 CFL season, the Lions released O'Neill due to a contract dispute.
Edmonton Eskimos
On August 19, 2013, he was signed by his hometown Edmonton Eskimos. For the next game he was assigned to do the field goal kicking, with incumbent Grant Shaw handling the punting and kickoffs. O'Neill was good on his first attempt as an Eskimo, from 46 yards out, and on his second, a 42-yarder in the fourth quarter. Including that game, he was the Eskimos' placekicker for seven games in the 2013 season, making 11 of 16 field goal attempts. He returned to the Eskimos in 2014, but remained off the game day roster to begin the season as Shaw had won all three kicking duties. Following an injury to Shaw in the Labour Day Classic on September 1, 2014, O'Neill took over placekicking, punting, and kickoffs for the rest of the season, playing in eight regular season games and both Eskimos' playoff games. He connected on 20 of 26 field goal attempts while averaging 44.4 yards-per-punt. The Eskimos released O'Neill on January 21, 2015.
O'Neill signed with the Saskatchewan Roughriders on February 3, 2015. He was released June 20, 2015 after the final pre-season game against Calgary on June 19, 2015.
O'Neill signed a practice roster agreement with the Hamilton Tiger-Cats on June 30, 2015. He played in his first game as a Tiger-Cat on July 2, 2015, recording two punts for a 38.5 yard average.