Manchester United Keane worked his way up through the Manchester United academy, and made his first appearance for the under-18s on 21 April 2007 against
Sheffield United, a game in which both sides had agreed to field their under-16 teams; at the age of 14, Keane came on as a substitute for goalscorer Tomos Roberts in the 77th minute of a 4–0 away win. His next appearance for the under-18s came almost two years later, when he started in central midfield in a 1–0 home defeat to
Stoke City on 21 February 2009. Shortly before their 16th birthday earlier in the year, both Keanes were awarded three-year scholarships with Manchester United, which began in July 2009. he also made several substitute appearances for the reserves. His reserve debut came as a substitute in a 1–0 league win away to
Everton on 6 October 2009, and he scored his first goal five months later, in Manchester United's penultimate group match in the
Manchester Senior Cup against
Stockport County on 8 March 2010; after coming on for
Nicky Ajose on the hour mark, Keane scored 14 minutes later to give Manchester United a 1–0 win. At the end of the season, Keane made a substitute appearance for the reserves in the
Premier Reserve League Play-off Final against
Aston Villa. After the game finished 1–1, the teams went to
penalties, where Keane missed United's third penalty in a 3–2 shoot-out victory to win the Premier Reserve League title. Keane's performances during the 2009–10 season saw him receive the
Jimmy Murphy Young Player of the Year award. Despite making just 17 appearances for the under-18s in 2010–11, Keane finished as the team's top scorer with 16 goals, including eight in just six FA Youth Cup matches – three in the semi-final second leg against
Chelsea and three more over the two legs of the final against
Sheffield United. He also scored six goals in 10 appearances for the reserves; only a missed penalty denied him a hat-trick in a 5–1 win over
Newcastle United on 16 December 2010,
Ole Gunnar Solskjær's final match as manager. Keane was ever-present for the reserves in the league in 2011–12, scoring 14 times in 22 appearances, as well as four more in seven cup appearances. His best performance of the season came on 16 April 2012, when he scored four in a 6–3 win away to Newcastle United to confirm Manchester United as winners of the Premier Reserve League North. They again faced Aston Villa in the championship play-off, and again the match went to penalties, but this time Keane scored from his kick as United won 3–1. Keane was on the scoresheet again a week later as United made it a double with a 2–0 victory over Manchester City in the final of the Manchester Senior Cup. After being named as an unused substitute for a 2–1 defeat to
Wolverhampton Wanderers in the
Premier League on 5 February 2011 and a 3–0 win over
Aldershot Town in the fourth round of the
2011–12 Football League Cup on 25 October 2011, Keane made his senior debut on 31 December 2011 in a 3–2 defeat at home to
Blackburn Rovers in the
Premier League, coming on as a late substitute for
Rafael. A knee ligament injury suffered while on international duty with the
England under-19s in May 2012 kept Keane out for the entire 2012–13 season. He made his return for the under-21s at home to
Bolton Wanderers on 16 September 2013, scoring the first goal in a 4–1 win. Three more goals followed in the under-21s' next two matches, against
Bury and Bolton in the Manchester Senior Cup.
Wigan Athletic (loan) On 28 November 2013, Keane joined fellow Manchester United youngster
Nick Powell on a one-month loan at
Wigan Athletic. He made his debut at home to
Derby County the following weekend, only to be replaced by
Grant Holt at half-time with Wigan 3–0 down; they went on to lose the game 3–1. After failing to find the net in four appearances for Wigan, Keane returned to Manchester United in December 2013 having suffered a groin injury.
Queens Park Rangers (loan) After recovering from injury, Keane made a loan move to
Queens Park Rangers on 31 January 2014 until the end of the 2013–14 season. He made 10 appearances during the second half of the 2013–14 season as QPR won promotion to the Premier League through the Championship play-offs. On 31 December 2015, Manchester United recalled Keane from his loan. He made 22 appearances in all competitions during his loan spell at
Deepdale, scoring twice. He made his debut on 10 September 2016 away to
Burnley when he came off the bench to replace
Adama Diomande after 70 minutes. On 6 November 2016, during a match against
Southampton, Keane suffered the second serious knee ligament injury of his career, putting him out of action until January 2018. He scored his first goal for the club on 10 April 2018, the final goal in a 0–5 away win against
Burton Albion.
Ipswich Town (loan) On 4 January 2019, Keane signed for Ipswich Town on loan until the end of the season. He made his debut for the club as a second-half substitute in a 0–1 FA Cup away loss to
Accrington Stanley at the
Crown Ground. He scored his first goal for the club on his home debut in a 1–0 win over
Rotherham United at
Portman Road, on 12 January 2019. He made 12 appearances for the Tractor Boys during his loan spell, scoring three goals.
Ipswich Town On 20 August 2019, Keane signed with Ipswich Town permanently on a free transfer. He signed a one-year contract, with the option of an additional 12 months. He made his first appearance following his return to the club as a second-half substitute in a 0–0 draw with
Doncaster Rovers at Portman Road on 14 September. He scored his first goal of the season on 8 October, netting the fourth goal in a 4–0 home win over
Gillingham in a group stage match of the
EFL Trophy. Keane scored his first league goal of the season on 7 December in a 1–1 draw with
Coventry City. With football suspended due to the
COVID-19 pandemic and with his contract expiring, on 18 May 2020 the club announced they had decided against taking up the additional 12-month option in Keane's contract, or offer him a new deal, and he subsequently left the club. He had scored six goals in 29 appearances in all competitions during the season.
Return to Wigan Athletic On 9 October 2020, Keane joined Wigan Athletic on a short-term contract until 9 January 2021, as Latics rebuilt their squad after entering administration and suffering relegation from the Championship in the 2019–20 season. He made his debut a day later, starting in a 0–3 loss to
Crewe Alexandra. He scored his first goal for Wigan on 24 October, scoring the equalising goal in a 1–1 draw with
Plymouth Argyle. On 15 January 2021, Keane signed a contract extension to keep him at the club for the rest of the season. By May, Keane had scored 11 goals in 34 games for Wigan in all competitions in the 2020–21 season. In June 2021, Keane signed a new two-year contract with Wigan. In the
2021-22 EFL League One campaign, Keane would finish as top goalscorer with 26 goals.
Preston North End In July 2023, Keane moved to
Championship side
Preston North End for an undisclosed fee. He was Preston's top scorer in the
2023–24 season with 13 goals and had his contract extended at the end of that season until 2026. On 20 December 2025, in his first game of the
2025–26 season after returning from injury, Keane scored the late equaliser in a 1–1 draw with
Norwich City.
Reading (loan) On 14 January 2026,
Reading announced the signing of Keane on loan from
Preston North End until the end of the season. ==International career==