Thomson abrió el marcador contra su antiguo club en el minuto 11, aprovechando una autorización débil para media volea a través de una caja llena de gente con Rohan Ferguson incapaz de mantenerlo fuera mientras la pelota goteaba a través de la línea.
Los cargos de Declan Devine apretaron sus minutos después del reinicio.
La cruz desviada de Dylan Connolly se enrolle hacia el borde del área, donde Thomson rasgó un esfuerzo que se arrastró en la esquina inferior para ponerlo 2-0.
Pero los visitantes rugieron justo antes de la marca de la hora. El feroz impulso de Graham picó las palmas de Daniel Gyollai, y cuando el seguimiento de Ryan se rompió amablemente para O'Neill, el delantero apuñaló a casa desde corta distancia para establecer una tensa media hora final.
El cambio se completó en el minuto 67. Aaron Wightman se cierre en Graham dentro de la caja, dejando al árbitro con poca elección.
Up puso a Ryan, quien envió a Gyollai de la manera incorrecta desde 12 yardas para atraer el nivel lateral fuera.
El lado este de Belfast debería haber estado fuera de la vista para entonces, con Thomson rechazando una oportunidad dorada en la primera mitad.
Mientras tanto, los visitantes pensaron que habían igualado en el golpe de medio tiempo, solo para el fresco final de O'Neill de una cruz Tomas Cosgrove para ser gobernado fuera de juego.