He represented Scotland once, and played for Dundee United, St Johnstone, Hibernian and Falkirk in the top division. O'Neil, a right-sided midfielder, began his career at Dundee United, where he progressed through the youth ranks. O'Neil scored for United in their 1991 Scottish Cup final defeat against Motherwell, with his header reducing Motherwell's lead to 3–2.
During his six years at McDiarmid Park, O'Neil became a regular. He played in nearly 200 league matches, over double his tally in the same time with United. In June 2000, O'Neil moved to Hibernian.
It was during his spell with the Edinburgh club that O'Neil gained his only cap for Scotland, a start in a 1–1 draw against Poland in an away friendly on 25 April 2001. After three years with Hibs, O'Neil joined Falkirk in 2003, but swapped a second Scottish First Division title for a Second Division title by joining Gretna in January 2005. He left Gretna to join Cowdenbeath at the start of the 2007–08 season, signed by former Dundee United teammate Brian Welsh.
O'Neil was released by Cowdenbeath in January 2009 and then signed for East Stirlingshire.