O'Neill comenzó su carrera en Irlanda del Norte con el Coleraine, antes de jugar para varios clubes de Inglaterra, Escocia y Estados Unidos, entre ellos el Newcastle United, Dundee United, Hibernian, Wigan Athletic y Portland Timbers.
Fue internacional 31 veces con Irlanda del Norte, en las que anotó cuatro goles.
Su primer trabajo como técnico fue con el Brechin City, al que dirigió entre 2006 y 2008, cuando aceptó el puesto en el Shamrock Rovers.
Bajo la dirección de O'Neill, Irlanda del Norte se clasificó para la Eurocopa 2016, siendo su primera participación en el tornero continental.
El 8 de noviembre de 2019 asumió el cargo de entrenador del Stoke City, estando el equipo en el 24.º y último puesto en la clasificación con 8 puntos, compaginando el cargo con el de seleccionador norirlandés.