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. During his time at the club, Ojo became the first MK Dons trainee to receive an international cap at youth level.
Liverpool
On 11 November 2011, Liverpool beat off competition from a host of Europe's top clubs 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. In April 2014, Ojo was joint top scorer alongside fellow Liverpool player Harry Wilson in the prestigious 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. 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.
Loan to Wolverhampton
On 2 August 2015, Ojo scored the winning goal for Liverpool in a friendly against Swindon Town. In 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. 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.
Return to Liverpool
He was recalled by Liverpool on 7 January 2016. 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. 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. Ojo made his Premier League debut on 20 March 2016, replacing Joe Allen in the 87th minute in a 3–2 loss away to Southampton at St Mary's Stadium. Three weeks later, he made his first start for Liverpool in the Premier League against Stoke City at Anfield, where he assisted Daniel Sturridge for Liverpool's second goal in a 4–1 win, before being replaced by Divock Origi. Ahead of the 2016–17 season, Ojo sustained a fracture in his back and did not return to first team training until mid-November.
On 16 August2017, Ojo joined Fulham on season-long loan. He scored a double in a 5–4 win over Sheffield United, on 21 November. He scored the winning goal in a 1–0 win over Birmingham City, on 9 December. On 23 December, Ojo received a yellow card and scored in a 2–1 win over Barnsley.
On 30 August 2018, Ojo signed a new contract with Liverpool and joined Stade de Reims on a season-long loan. He also played for Reims II.
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. 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.
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 aged 15. Ojo represented England U17s in the 2014 Algarve Tournament, with England coming second to Germany after a 1–0 loss in the final game. In September 2014, Ojo received his first England U18 call-up for a double header against the Netherlands. Ojo appeared in both games with England winning by an aggregate score of 7–2. On 27 August 2015, Ojo received his first call-up to the England U19 team and played 90 minutes in a 3–2 away win over Germany. Later in the same tournament, he started against France and helped The Young Lions secure a 2–1 win by providing 2 assists. Ojo was selected for the England under-20 team in the 2017 FIFA U-20 World Cup. Ojo made his start in tournament in the match against Guinea, 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. In the final, Ojo came on as a substitute for Kieran Dowell in the 62nd minute. England beat Venezuela 1–0, which is England's first win in a global tournament since their World Cup victory of 1966. In September 2018, he stated he could represent Nigeria in future.