He made his senior debut for the Pirates on the 16 April 2011 in a 1–0 defeat to Southampton at St Mary's Stadium, when he came on as a 75th-minute substitute for Jo Kuffour. This was the first time he had been in a first team matchday squad, having been included after impressing the manager during a reserve team game four days earlier.
2012–13 season
Ellis made his first league start on 12 January 2013 in a 3–0 victory against Fleetwood Town, setting up Danny Woodards to score the first goal after only five minutes of play. He scored his first goal for the club two weeks later on 26 January 2013, in a 3–1 victory away against Rotherham United at the New York Stadium. He scored both goals in a 2–1 victory over Rochdale in March 2013.
2013–14 season
Prior to the following season, Harrison agreed a new three-year contract with Rovers. Harrison featured in 25 league games, but scored just once, again at Highbury Stadium home of Fleetwood Town. Rovers ended the season relegated to the Conference Premier, ending their 94-year stay in the Football League. Harrison meanwhile was placed on the transfer list by manager Darrell Clarke.
Harrison initially featured sporadically at the start of the 2014–15 season, but scored late winners against F.C. Halifax Town and Lincoln City in August and September respectively. Harrison scored his first professional hat-trick in the FA Cup fixture away to Dorchester Town. Harrison ended the season with 17 goals in league and cup, including six in the final five league fixtures as Rovers finished just one point off top of the league and with it automatic promotion. Harrison was sent off in the play-off semi-final game with Forest Green Rovers, but returned for the final at Wembley Stadium where he scored the crucial equalising goal against Grimsby Town. Rovers went on to win the game on penalties to return to League Two at the first time of asking.
The 2015–16 season saw Harrison regularly feature, both in the starting lineup and from the substitutes' bench, until toward the end of 2015 when he was often an unused substitute. On 17 January 2016 he agreed to join fellow League Two side Hartlepool United on a month-long loan with a view to attaining more game time. As Ellis returned from his loan spell at Hartlepool United, he scored a crucial late equaliser vs league leaders Northampton Town. This proved to be important for the clubs automatic promotion race, as Rovers went up on goal difference with a victory over Dagenham & Redbridge on the final day.
2016–17 season
Harrison scored his first goal of the 2016–17 season in a 2–1 defeat to Bolton Wanderers. Harrison scored again on 24 September 2016 with the equaliser in a 2–1 win over Port Vale. He also scored a last gasp winner against Gillingham on 15 October to make it three goals that season for him and keep a 3-game winning streak alive. On 7 January 2017 he scored 4 goals in a 5–0 victory over Northampton Town. On 28 June 2017, Harrison signed a new deal following what he called a 'disappointing' season.
2017–18 season
Harrison scored his first goal of the season in his 2nd match, a 4–1 Carabao Cup victory over Cambridge United. Harrison made it 3–0 to the hosts after Lee Brown whipped in a delightful delivery from the left and Harrison climbed above the U's defender to head home from 6 yards. He scored his first league goal of the season on 26 August, grabbing the third goal off the bench in a 3–1 victory over Fleetwood Town just a few days after scoring to give Rovers a 1–0 win away to Championship side Fulham in the Carabao Cup. He also scored twice in the 6–0 away win against Northampton Town 6 weeks later. On 2 December, he scored the equaliser in a 2-1 victory over Rotherham United at the Memorial Stadium. Harrison won the January goal of the month award for EFL League One with his solo effort against Doncaster Rovers late on in a 3-1 victory, the goal being his 10th of the season.
Ipswich Town
On 23 July 2018, Harrison signed a two-year deal with Ipswich Town with an option for a third year, joining the club for an undisclosed fee believed to be in the region of £750,000. He scored his first goal for the club in a 1-1 draw with Sheffield United on the 22 December 2018. That would be his only goal for the club during his injury impacted season with the Tractor Boys.
Portsmouth
On 21 June 2019, Harrison signed for Portsmouth for an undisclosed fee. Harrison scored his first Portsmouth goals in his second game, a 3-0 victory over Birmingham City in the Carabao Cup, on 6 August.
International career
Harrison was called up to the Wales Under-21 squad versus Moldova on 22 March 2013. He was called up for a second time for the 14 August 2013 UEFA Championship qualifier against Finland. He made his Wales under-21 debut on 8 October 2013 in a 2–0 win over Lithuania and scored his first international goal while gaining his second cap in the 4–0 win over San Marino five days later, helping to avenge an embarrassing 1–0 defeat to the minnows the previous month.