Ojo joined MK Dons' academy when he was 10 years old. By the age of 13, he had played for the Dons' U18 side and was training with the first team squad.[3] During his time at the club, Ojo became the first MK Dons trainee to receive an international cap at youth level.[4]
Liverpool
On 11 November 2011, Liverpool beat off competition from a host of Europe's top clubs[5] including a multimillion-pound offer from Chelsea to sign Ojo, then 14, for an undisclosed fee believed to be in the region of £2 million.[3] In April 2014, Ojo was joint top scorer alongside fellow Liverpool player Harry Wilson in the U17 Future Cup.
Loan to Wigan
Having made a number of appearances on Liverpool's bench over the festive period, Ojo joined Wigan Athletic on loan on 2 February 2015.[6] Five days later, he made his professional debut coming on as a 59th-minute substitute for Wigan in a Championship match against AFC Bournemouth, with Wigan naming Ojo as their Man of the Match after he had a positive impact on the game.[7][8]
Loan to Wolverhampton Wanderers
On 2 August 2015, Ojo scored the winning goal for Liverpool in a friendly against Swindon Town.[9] On 4 August 2015, Liverpool announced that Ojo had signed a new long-term contract with the club and confirmed that he would join Wolverhampton Wanderers on a season-long loan.[10] He made his Wolves debut on the opening day of the 2015–16 Championship season as a substitute, coming on in the 84th minute and picking up a yellow card as his side went on to beat Blackburn Rovers. Three days later, he made his first start for Wolves in a 2–1 League Cup win over Newport County, assisting Nouha Dicko for Wolves' opening goal.[11]
Return to Liverpool
He was recalled by Liverpool on 7 January 2016.[12] The next day, Ojo made his competitive first-team debut for Liverpool, as a substitute in the FA CupThird round tie against Exeter City that ended in a 2–2 draw.[13] He scored his first competitive goal for Liverpool in the replay against Exeter on 20 January; his goal was the second in a 3–0 victory.[14]
Ahead of the 2016–17 season, Ojo sustained a fracture in his back and did not return to first team training until mid-November.[17]
Loan to Fulham
On 16 August 2017, Ojo joined Fulham on season-long loan.[18] He scored a double in a 5–4 win over Sheffield United, on 21 November.[19] He scored the winning goal in a 1–0 win over Birmingham City, on 9 December.[20] On 23 December, Ojo received a yellow card and scored in a 2–1 win over Barnsley.[21]
Loan to Stade de Reims
On 30 August 2018, Ojo signed a new contract with Liverpool and joined Stade de Reims on a season-long loan.[22] He also played for Reims II.[23]
Loan to Rangers
On 18 June 2019, Rangers of the Scottish Premiership announced they signed Ojo on a season-long loan, a day before his 22nd birthday.[24] He made his competitive debut for the club on 9 July 2019 in a 4–0 win over St Joseph's of Gibraltar in the 2019–20 UEFA Europa League, and scored the second goal.[25] He scored 4 goals for Rangers in Europe.
On 7 June 2024, Cardiff announced he would be leaving in the summer when his contract expired.[32]
Maribor
On 6 September 2024, Ojo joined the 16-times Slovenian champions Maribor on a two-year deal.[33]
International career
As Ojo was born in England, he is eligible to represent England, and through his Nigerian heritage is also eligible to play for Nigeria in international football. Ojo has represented England at under-16, under-17, under-18, under-19, under-20 and under-21 levels. In his early teens, Ojo often played at a higher age group at international level, representing England U17s at the St George's Park Tournament in 2012 at the age of 15.[34] Ojo also represented England U17s in the 2014 Algarve Tournament, with England coming second to Germany after a 1–0 loss in the final game.[35]
In September 2014, Ojo received his first under-18 call-up for a double header against the Netherlands. Ojo appeared in both games with England winning by an aggregate score of 7–2.[36] In late August 2015, Ojo received his first call-up to the under-19 team and played the full 90 minutes in a 3–2 friendly away win over Germany on 4 September.[37][38] At the 2016 UEFA European Under-19 Championship, he started against France and helped The Young Lions secure a 2–1 win by providing two assists.[39]
Ojo was selected for the England under-20 team in the 2017 FIFA U-20 World Cup. He made his tournament debut in the match against Guinea,[40] and was a substitute in a few other games, including the semi-final match against Italy in which he assisted in two of the goals.[41] In the final, Ojo came on as a substitute for Kieran Dowell in the 62nd minute. England beat Venezuela 1–0, which was the country's first win in a global tournament since their World Cup victory of 1966.[42]
In September 2018, he stated he could represent Nigeria at senior level in the future.[43]