A Millwall academy product, O’Brien would go on to make over 200 appearances for the club, scoring 44 goals and helping his side to promotion from League One via the play-offs in 2017. In September 2017, he was called up to the senior Republic of Ireland squad, eventually making his debut in a friendly against Poland in Wroclaw in September 2018, where he scored in a 1-1 draw.
Since departing Millwall, O’Brien has had spells at the likes of Sunderland, Portsmouth and Shrewsbury Town, where he was loaned to Gillingham and Sutton United, before joining Shelbourne in August 2024. He made ten appearances, scoring two goals as the Shels won the League of Ireland, before returning to England after departing on the 31st December.