Born in Dublin, O'Sullivan attended Templeogue College and Trinity College, where he completed a business studies course.[3][4] He played in the back row at school, and converted to the front row at Trinity.[5]
O'Sullivan represented his native Leinster at under-17, under-18, under-19 and under-20 level, but missed out on a place in Leinster's academy. Strong performances for Dublin University in the All-Ireland League caught the attention of Ulster and, after an appearance for Ulster's 'A' side in early 2017, He joined the Ulster academy.[6][7]
He made his senior debut for Ulster off the bench in their 15–13 win against Welsh side Scarlets in the opening round of the 2018–19 Pro14 on 1 September 2018,[3] and made his first start for the province in their 39–39 draw against South African side Cheetahs on 21 September 2018.[8] He made 26 appearances, including 16 starts, and made 251 tackles, while still an academy player, in 2018–19,[9] and was named Young Player of the Year in the 2019 Ulster Rugby Awards.[10] He signed his first senior contract with Ulster in February 2019.[11] He made 18 appearances, including 10 starts, in 2019–20.[2]
He made 21 appearances, including 16 starts, and 155 tackles, in 2020–21.[12][13] He made his 50th appearance for Ulster in November 2020.[14] He made his debut for Ireland against Scotland in the Autumn Nations Cup on 5 December 2020, replacing Cian Healy.[15] At the end of the season he was named in the 2020–21 Pro14 Dream Team.[16]
In the 2021–22 season, he has made 17 appearances, including 7 starts.[2]