McGinn began his football career at Dungannon Swifts in his native county. In his first full season, the club finished in 10th place.
McGinn was signed by Derry City manager Stephen Kenny in January 2008 for an undisclosed fee from Dungannon Swifts in the Carnegie Premier League, who in turn signed him from Donaghmore Celtic. His decision to sign a professional football contract meant that McGinn retired from playing Gaelic football for Donaghmore and Tyrone U-21s. A very promising young talent, McGinn mainly plays on the left or right side of midfield but he can also be employed as a secondary striker. On 14 March 2008, McGinn made his debut for the club in a 2–1 win over Finn Harps. On 25 March 2008, McGinn scored his first goal for the club in a 4–1 win over University College Dublin. On 1 June 2008, McGinn scored his second goal in a 3–2 loss against Cork City. On 25 July 2008, McGinn scored his third goal in a 4–0 win over Galway United and scored again (fifth) in the second meeting on 2 November 2008 in a 2–0 win. On 9 August 2008, McGinn scored his fourth goal in a 3–0 win over Cobh Ramblers and scored again (sixth) in the second meeting on 14 November 2008 in a 4–2 win.
During 2008, he attracted interest from such clubs as Celtic and Championship sides Ipswich Town and Swansea City. He also attracted interest from Birmingham City.
McGinn signed for Celtic on 1 January 2009. On 12 September 2009, McGinn made his first team debut for Celtic against Dundee United. Although the game ended in a 1–1 draw, McGinn was awarded the official Man of the Match award. On 17 September 2009, McGinn made his Europa League Groupstage debut in a 2–1 loss against Hapoel Tel Aviv. In the last Groupstage game with Celtic out, they faced Austrian side Rapid Wien to finished third place. The match ended 3–3 which Celtic finished third. During the match, McGinn started the match and provided assist for Marc-Antoine Fortuné to score the second goal in a match before coming off for Graham Carey.
On 31 October 2009, McGinn scored his first goal for Celtic coming on as a 66th-minute substitute in a 3–0 win over Kilmarnock at Celtic Park. McGinn scored his second goal for Celtic against Hamilton Academical on 26 December 2009 by driving a right footed shot into the top corner. He scored his first goal in the Scottish Cup and his third of the 2009–10 season to put Celtic 1–0 ahead against Greenock Morton on 19 January 2010. In the January transfer window, McGinn was a transfer target for Premier League side Wigan Athletic but wished to stay at Celtic. At the end of the season, McGinn suffered an injury during the end of the last training session of the season on 17 May 2010 after breaking a metatarsal bone in his right foot and out for 2 months. After recovering from his injury, McGinn says manager Neil Lennon played a big role in helping him recover from his injury.
After being on the substitute twice in the game but did not come on, McGinn scored in his first game of the 2010–11 season, a 3–2 win over St Johnstone in the Scottish League Cup on 27 October 2010 which he scored twice in the match. 3 days later on 30 October 2010, McGinn scored twice against them but this time in the league in a 3–2 win. In the next match against Aberdeen, McGinn provided assist for Gary Hooper to score his second in the match which later Hooper scored a hat-trick. That match would hold the record as the biggest ever win in the SPL, as well as being the biggest ever defeat in the history of Aberdeen. Later on the season, McGinn would play less and be on the substitute bench.
Before the start of the season rumours flowed that there was a fall-out between McGinn and Lennon with McGinn being unhappy over being left out of the pre-season tour of Australia. Lennon denied this and explained the leaving out of McGinn was due to his international commitments at the Nations Cup in May. McGinn signed a new one-year extension on his contract at the start of the 2011–12 season before moving to Brentford. After his loan move to Brentford, McGinn says moving to Brentford could be an end of his Celtic career after a phone-call conversation from Lennon.
On 7 July 2011, McGinn signed for English League One club Brentford on a season long loan deal. On 6 August 2011, McGinn made his debut for the club in a 2–0 win against Yeovil Town where he made his first start before coming off in the second half. On 16 August 2011, McGinn provided an assist for Clayton Donaldson to make 2–0 against Exeter City, only for the game to end in a 2–1 win. On 20 August 2011, McGinn scored his first goal for the club in a 5–0 win over Leyton Orient. On 17 September 2011, McGinn scored his second goal for the club in a 2–0 win over Preston. On 10 December 2011, McGinn scored his third goal for the club in a 2–1 win over Hartlepool United. On 14 February 2012, McGinn scored his fourth goal for the club in a 2–1 loss against Colchester United. On 3 April 2012, McGinn scored his fifth goal for the club in a 2–1 win over Oldham Athletic and in the first meeting of the season, McGinn set up a goal for Myles Weston in a 2–0 win on 24 September 2011.
On 4 July 2012, McGinn signed for Scottish Premier League club Aberdeen on a two-year contract after his deal with Celtic expired. After his move to Aberdeen, McGinn revealed the club's aim to challenge his former club Celtic and gain a place in Europe. McGinn joined up with his teammates as they headed out to Germany for a pre-season tour which included games against Werder Bremen and FC St. Pauli. McGinn scored his first goal for the Dons' in the friendly against St. Pauli, rounding the goalkeeper after picking up the ball from a poor back pass.
He went on to make his competitive debut for Aberdeen, in an opening day 1–0 defeat away to SPL champions Celtic. The following weekend, McGinn made his home debut against newly promoted side Ross County. The game finished 0–0 and also saw McGinn stretchered off towards the end of the game after an accidental collision with veteran defender Grant Munro. Manager Craig Brown spoke after the game, ruling McGinn out of the Northern Ireland squad that was due to face Finland on 14 August. The former Scotland manager said: "We can't tell the length of the recovery period but he will certainly be out in the immediate future."
After being out for 4 weeks due to an ankle injury, McGinn featured as a substitute in a 1–1 draw with Inverness Caledonian thistle. The next week he came on as a substitute against Motherwell and scored his first competitive goal for the club, helping Aberdeen come back from 1–3 down to draw 3–3. He then went on to score in his next 2 appearances for the Dons. A 2–1 victory at home to Hibernian and helped the Dons come back to beat Kilmarnock 3–1 at Rugby Park. A fortnight later, he scored his thirtieth goal in four matches at Tannadice in a 1–1 draw with Dundee United. On 27 October 2012, McGinn became the first Aberdeen player in 20 years to score in five successive league matches, netting the opening goal in a 2–0 win over Dundee. The following week, in a 2–1 loss to Ross County in Dingwall, McGinn scored in his sixth straight league match, smashing Duncan Shearer's record. McGinn headed a late equaliser for Aberdeen in a Scottish Cup tie with Motherwell to level the match and set up a replay at Fir Park.
McGinn then bagged the first hat-trick in his professional career in a convincing 3–1 victory over Dundee at Dens Park, on 29 December 2012; this brought his goal tally to 14 before the turn of the year. He scored a sublime free kick in a 2–2 draw with Dundee United at Pittodrie three days later, his 14th goal in 19 league games. On the last day of the transfer window, McGinn revealed he received a six-figure bid from three clubs in the Championship, which he rebuffed, to return the faith shown in him by Craig Brown. Later in the 2012–13 season, McGinn impressive display earned him a nomination for PFA Scotland's player of the year.
On 3 May 2013, McGinn was awarded both Aberdeen Player of the Year and Aberdeen Players' Player of the Year for the 2012–13 season. On picking up the awards McGinn said: "The fans have been unbelievable towards me and I am very thankful to them for that. To win the award voted for by the fans means that you are doing something right on the park. Thank you to everyone that took the time to vote for me". McGinn finished the season with 21 goals in all competitions, 20 of those coming in league matches. On 17 May, McGinn signed a two-year extension to his current contract, tying him to the club until 2016. After signing a new contract, McGinn insisted that he has unfinished business to do by winning trophies for the club. At the end of the 2012–13 season, McGinn finished the season, with 21 goals in thirty-nine appearance in all competitions.
In 2013–14 season, McGinn scored his first goals of the season in a 3–1 win over Motherwell, followed up his third goal, in a 2–1 loss against Hearts. However, McGinn soon sustained an ankle injury during an international game that cause him to missed two games. McGinn then started being on a goal scoring form when he scored five goals in four games against Partick Thistle, Hearts, Celtic and St Johnstone. Later in the second half of 2013–14 season, McGinn would play a vital role when he provided a double assist, in a 2–1 win over Celtic, giving their first loss of the season. A few weeks later, McGinn played the full 120 minutes of normal plus extra time in the Scottish League Cup Final against Inverness Caledonian Thistle which Aberdeen won 4–2 on penalty kicks. McGinn scored his first league goal in three months, as Aberdeen drew 1–1 with Dundee United. McGinn scored twice on 30 March 2014, in a 2–0 win over Hibernian. McGinn then finished 2013–14 season as the top-scorer for the second time in a row with thirteen goals in all competitions.
In 2014–15 season, McGinn scored two goals in the Europa League Qualifier, in a 5–0 win over Daugava Rīga in the first leg, followed up his second, in a 2–1 win over FC Groningen. On 30 August 2014, McGinn first goal of the season came in a 1–0 win over Partick Thistle. On 22 December, McGinn signed a contract extension, staying with the Dons until Summer 2017.
In June 2017, Gwangju FC's Director of football Ki Young-ok (Father of former Celtic FC player Ki Sung-yueng) offered to join the club. On 4 July, McGinn joined Gwangju as the K League's first player from Northern Ireland.
McGinn's performances for Derry City led to him featuring in the Northern Ireland under-23 team.
In November 2008, McGinn received his first call-up to the Northern Ireland senior squad by manager Nigel Worthington for the series of international friendlies and he gained his first cap coming on as a substitute against Hungary on 19 November. He was the first Derry City player to play for the senior Northern Ireland team in 19 years. Although disappointed in the result, Nigel Worthington is quoted as saying of McGinn:
McGinn again impressed when called up to the senior squad for the friendly against Israel at Windsor Park on 12 August 2009. The match ended 1–1, and McGinn came on as a second-half substitute. Again, his individual performance was praised by manager Nigel Worthington:
McGinn scored his first international goal in a draw against Portugal in a FIFA World Cup 2014 Qualifier on 16 October 2012. His second goal was the winning goal in a UEFA Euro 2016 qualifier, during Northern Ireland's first competitive away victory since September 2010, beating Hungary 2–1. He scored his third goal at the 2016 Euro Championship in a 2–0 win over Ukraine. He stated later, "What a night and what an occasion. To come off the bench and to score as well was just unbelievable for me." It was in a match that saw the team win for the first time at the European finals, and was the latest ever goal at the tournament, coming in the 96th minute.
On 15 November 2016, McGinn won his 50th cap for Northern Ireland, as they played Croatia in a friendly, being named as captain for the match.
Upon his signing for Brentford, McGinn's new manager Uwe Rösler said that, "Niall is a quick, very direct player and has a very good work ethic."
McGinn's fine season with Derry City in 2008 was publicly recognised when he won the 2008 PFAI Young Player of the Year award.
In January 2010 McGinn was awarded the George Best Breakthrough Award for 2009 in recognition of his impressive performances for club and country.
On 6 November 2012, it was announced that Aberdeen had scooped a hat-trick of awards for the month of October. Manager Craig Brown took Manager of the Month, McGinn took Player of the Month and midfielder Ryan Fraser took the award for Young Player of the Month.
In January 2011, it was reported that Royal Mail had intercepted packages sent by loyalists containing bullets addressed to McGinn, Paddy McCourt and Celtic manager Neil Lennon. McGinn and McCourt were both shocked and disappointed to be subjected to such threats.As of 27 June 2017
As of 15 October 2016
League of Ireland Cup: 2008
Scottish Cup: 2010–11
Scottish League Cup: 2013–14
Ulster Minor Football Championship: 2004
All-Ireland Minor Football Championship: 2004
PFAI Young Player of the Year: 2008
Aberdeen FC Player of the Year: 2013
SPL Player of the Month: October 2012
Scottish Premiership Player of the Month: September 2015