Born in Castiglione del Lago, Umbria, Italy to Nigerian parents who later obtained Italian citizenship, Okaka joined the Roma youth system in 2004. He was part of the team that won the U-20 national title in 2005 and scored goals against Juventus in the semi-final and Atalanta in the final.
On 29 September 2005, he made his debut with the first team in the UEFA Cup, playing against Aris. He thus became the youngest footballer to debut in an international competition for an Italian team. Okaka scored his first official goal for Roma in a Coppa Italia match against Napoli on 8 December 2005, with a powerful run from midfield and a precise shot to the left of the goalkeeper, making him the youngest goalscorer in the competition. He made his Serie A debut with the club later that month, on 18 December 2005, at the age of 16 years and 125 days, in a 1–1 away draw against Sampdoria. He made several more appearances for the senior squad, scoring his first Serie A goal nine months later, on 17 September 2006, the last of three Roma goals in a 3–1 win over Siena, just 38 days after his 17th birthday, after coming on as a substitute for Francesco Totti. He also made his debut in the UEFA Champions League later that month, in a 2–1 away loss to Valencia, on 27 September.
He was subsequently loaned to Serie B side Modena for the 2007–08 season in order to gain some first team experience. Okaka had a fairly good season at Modena, scoring seven times in 33 appearances.
After returning to Roma, he signed a new contract which lasted until 30 June 2012. As a part of it, he earned a gross annual salary of €0.6M in the first two seasons, which then increased to €0.7M and €0.9M. He also spent a six-month loan period at Brescia in Serie B from January to June 2009, where he scored two goals in 16 appearances.
On August 2009, he scored his first goal with Roma in a continental competition, the final goal in a 7–1 result defeat of Gent in the second leg of the 2009–10 UEFA Europa League third qualifying round. He scored again in the Europa League in Roma's 2–0 win over CSKA Sofia and in Roma's 2–1 win over Fulham. His last goal with Roma was an 88th-minute winner against Siena.
On 1 February 2010, he joined Fulham on loan until the end of the season. He made his debut for Fulham in the 1–0 win over Portsmouth on 3 February 2010. He scored his first goal for the club on 14 February 2010 in a 5th round FA Cup tie at home to Notts County. He scored his first league goal for the club against Wigan Athletic on 4 April 2010. He was cup-tied for Fulham's run to the 2010 UEFA Europa League Final.
In January 2011 he moved to Bari on loan. There, he scored his first goal against Lecce for 1–0 win. In this game he and Kamil Glik marking their debuts for Bari. He scored one further goal for Bari that season. Okaka sustained an injury in round 30 and missed the rest of the season.
In August 2011, Okaka was attacked by Roma fans after a training session for allegedly not wishing to sign autographs.
After failing to make a single appearance for Roma in the first half of the season, on 22 January 2012, he joined Parma on loan until the end of the season. He scored his first Parma goal on 7 March 2012, the opener in a 2–2 against Fiorentina. He netted his second goal on 21 April from the spot against Cesena. He scored his third against Palermo four days later.
Having returned to Roma at the end of the season Okaka signed a permanent deal with Parma on 20 August. The following day he was loaned to the newly promoted Serie B club Spezia where he made 38 appearances, scoring seven goals and assisting six more. After his loan spell, he returned to Parma for the 2013–14 season, making only two Serie A matches as a substitute.
On 31 January 2014, Okaka was transferred to the fellow Serie A outfit Sampdoria on a permanent deal, with Nicola Pozzi moving the opposite direction. He made a good start to his Sampdoria career, scoring five times in 13 appearances in the 2013–14 season.
He scored his first goal of the 2014–15 season on 14 September 2014, a solo effort, in the 2–0 victory against Torino on 14 September 2014. On 10 June 2015, the owner and president of Sampdoria Massimo Ferrero told the Italian media that Okaka would be leaving the club.
On 28 July 2015, Okaka joined Belgian side Anderlecht from Sampdoria.
On 29 August 2016, Okaka joined Watford from Anderlecht on a five-year contract. He scored his first two goals for Watford on 10 December 2016, against Everton in a Premier League match which Watford went on to win 3–2. Okaka first equalised for the Hornets to make it one apiece, producing an elegant back-heeled strike from inside the six-yard box and then put his side 3–1 up after heading in from a corner. He was awarded the 'man of the match' in that game.
After gaining Italian citizenship in 2007, Okaka was selected for the Italian Under-19 side. He made his debut for the Italy U-20 team in 2008, scoring two goals. On 17 November 2009, he made his debut with the Italy U-21 squad in a match against Luxembourg.
In April 2014, Okaka revealed he was in talks with the Nigeria Football Federation about the possibility of him switching allegiance to his parents' country and play with the Nigeria national football team already at the 2014 FIFA World Cup.
However, Okaka was included in the Italy squad for their friendly against Albania on 18 November 2014 by manager Antonio Conte. He made his debut as a substitute, replacing Sebastian Giovinco in the second half, and scored the winning goal at Sampdoria's ground the Stadio Luigi Ferraris.
Okaka's twin sister, Stefania Okaka, is also a professional sportsperson. A volleyball player, she plays for Béziers Volley of the French first division and the Italian national team.As of 17 May 2017
As of 29 March 2016.