Date of birth | 11 May 1992 |
Place of birth | Aberdeen |
Nationality | Scottish |
Weight | 74 kg |
Height | 1.83 m |
Position | Defender/Midfielder |
Stephen O'Donnell also played for Aberdeen during his youth career.
He joined Luton Town in July 2015 with a two-year contract.
Team | Joined | Left | Loan / Trialist |
---|---|---|---|
Celtic | 01 Jul 2010 | 30 Jun 2011 | |
Partick Thistle | 23 Aug 2011 | 30 Jun 2015 | |
Luton Town | 01 Jul 2015 | 30 Jun 2017 | |
Kilmarnock | 04 Jul 2017 |
Season | Team | Competition | Apps | Subs | Goals | Y | R |
---|---|---|---|---|---|---|---|
2015-16 | Luton Town | Johnstones Paint Trophy | 1 | 1 |
|||
2015-16 | Luton Town | League Cup | 2 | ||||
2015-16 | Luton Town | League Two | 30 |
3
|
|||
2016-17 | Luton Town | FA Cup | 3 |
2 |
|||
2016-17 | Luton Town | Football League Trophy | 4 | ||||
2016-17 | Luton Town | League Cup | 2 | ||||
2016-17 | Luton Town | League Two | 27 | 3 |
1 |
1
|
Please note: Career stats are based on performances in the Premier and Football Leagues and (in most cases all) internationals.
Date | Match | Result | Competition | Round | |
---|---|---|---|---|---|
11 Aug 2015 | Luton Town v Bristol City | W | 3-1 | League Cup | 1st round |
15 Aug 2015 | Luton Town v Oxford United | D | 2-2 | League Two | |
18 Aug 2015 | Luton Town v Bristol Rovers | L | 0-1 | League Two | |
25 Aug 2015 | Luton Town v Stoke City | L | 1-1 (7-8) | League Cup | 2nd round |
29 Aug 2015 | Luton Town v Portsmouth | L | 1-2 | League Two | |
01 Sep 2015 | Luton Town v Leyton Orient | W | 2-1 | Johnstones Paint Trophy | 1st round - southern section |
05 Sep 2015 | Cambridge United v Luton Town | W | 1-3 | League Two | |
12 Sep 2015 | Notts County v Luton Town | L | 3-2 | League Two | |
19 Sep 2015 | Luton Town v Mansfield Town | W | 1-0 | League Two | |
26 Sep 2015 | Luton Town v AFC Wimbledon | W | 2-0 | League Two | |
28 Dec 2015 | Portsmouth v Luton Town | D | 0-0 | League Two | |
02 Jan 2016 | Bristol Rovers v Luton Town | L | 2-0 | League Two | |
16 Jan 2016 | Luton Town v Cambridge United | D | 0-0 | League Two | |
23 Jan 2016 | Mansfield Town v Luton Town | W | 0-2 | League Two | |
30 Jan 2016 | Luton Town v Notts County | L | 0-2 | League Two | |
02 Feb 2016 | Luton Town v Yeovil Town | D | 1-1 | League Two | |
06 Feb 2016 | Wycombe Wanderers v Luton Town | W | 0-1 | League Two | |
13 Feb 2016 | AFC Wimbledon v Luton Town | L | 4-1 | League Two | |
20 Feb 2016 | Luton Town v Hartlepool United | W | 2-1 | League Two | |
27 Feb 2016 | York City v Luton Town | W | 2-3 | League Two | |
01 Mar 2016 | Luton Town v Morecambe | W | 1-0 | League Two | |
05 Mar 2016 | Leyton Orient v Luton Town | W | 0-1 | League Two | |
12 Mar 2016 | Luton Town v Crawley Town | L | 0-1 | League Two | |
19 Mar 2016 | Plymouth Argyle v Luton Town | W | 0-1 | League Two | |
28 Mar 2016 | Barnet v Luton Town | L | 2-1 | League Two | |
02 Apr 2016 | Luton Town v Stevenage | L | 0-1 | League Two | |
09 Apr 2016 | Luton Town v Accrington Stanley | L | 0-2 | League Two | |
12 Apr 2016 | Luton Town v Dagenham and Redbridge | W | 1-0 | League Two | |
16 Apr 2016 | Oxford United v Luton Town | W | 2-3 | League Two | |
19 Apr 2016 | Carlisle United v Luton Town | W | 1-2 | League Two | |
23 Apr 2016 | Luton Town v Newport County | D | 1-1 | League Two | |
30 Apr 2016 | Northampton Town v Luton Town | L | 2-0 | League Two | |
07 May 2016 | Luton Town v Exeter City | W | 4-1 | League Two | |
06 Aug 2016 | Plymouth Argyle v Luton Town | W | 0-3 | League Two | |
10 Aug 2016 | Luton Town v Aston Villa | W | 3-1 | League Cup | 1st round |
13 Aug 2016 | Luton Town v Yeovil Town | D | 1-1 | League Two | |
16 Aug 2016 | Luton Town v Newport County | W | 2-1 | League Two | |
20 Aug 2016 | Stevenage v Luton Town | L | 2-1 | League Two | |
23 Aug 2016 | Luton Town v Leeds United | L | 0-1 | League Cup | 2nd round |
27 Aug 2016 | Cambridge United v Luton Town | W | 0-3 | League Two | |
03 Sep 2016 | Luton Town v Wycombe Wanderers | W | 4-1 | League Two | |
10 Sep 2016 | Luton Town v Grimsby Town | L | 1-2 | League Two | |
17 Sep 2016 | Crawley Town v Luton Town | L | 2-0 | League Two | |
04 Oct 2016 | Luton Town v West Bromwich Albion | W | 2-0 | Football League Trophy | Group H – South |
15 Oct 2016 | Leyton Orient v Luton Town | W | 1-2 | League Two | |
22 Oct 2016 | Luton Town v Mansfield Town | D | 1-1 | League Two | |
29 Oct 2016 | Notts County v Luton Town | D | 0-0 | League Two | |
05 Nov 2016 | Exeter City v Luton Town | W | 1-3 | FA Cup | 1st round |
08 Nov 2016 | Luton Town v Millwall | L | 1-3 | Football League Trophy | Group H – South |
03 Dec 2016 | Luton Town v Solihull Moors | W | 6-2 | FA Cup | 2nd round |
10 Dec 2016 | Luton Town v Carlisle United | D | 1-1 | League Two | |
17 Dec 2016 | Blackpool v Luton Town | W | 0-2 | League Two | |
26 Dec 2016 | Luton Town v Colchester United | L | 0-1 | League Two | |
31 Dec 2016 | Luton Town v Barnet | W | 3-1 | League Two | |
02 Jan 2017 | Portsmouth v Luton Town | L | 1-0 | League Two | |
07 Jan 2017 | Accrington Stanley v Luton Town | L | 2-1 | FA Cup | 3rd round |
10 Jan 2017 | Luton Town v Chesterfield | W | 4-0 | Football League Trophy | 3rd round |
21 Jan 2017 | Wycombe Wanderers v Luton Town | D | 1-1 | League Two | |
07 Feb 2017 | Luton Town v Yeovil Town | W | 5-2 | Football League Trophy | Quarter-final |
11 Feb 2017 | Luton Town v Crawley Town | W | 2-1 | League Two | |
14 Feb 2017 | Luton Town v Hartlepool United | W | 3-0 | League Two | |
18 Feb 2017 | Doncaster Rovers v Luton Town | D | 1-1 | League Two | |
04 Mar 2017 | Yeovil Town v Luton Town | W | 0-4 | League Two | |
11 Mar 2017 | Luton Town v Stevenage | L | 0-2 | League Two | |
14 Mar 2017 | Carlisle United v Luton Town | D | 0-0 | League Two | |
18 Mar 2017 | Luton Town v Exeter City | D | 1-1 | League Two | |
21 Mar 2017 | Newport County v Luton Town | D | 1-1 | League Two | |
25 Mar 2017 | Colchester United v Luton Town | L | 2-1 | League Two | |
01 Apr 2017 | Luton Town v Blackpool | W | 1-0 | League Two | |
08 Apr 2017 | Barnet v Luton Town | W | 0-1 | League Two | |
17 Apr 2017 | Mansfield Town v Luton Town | D | 1-1 | League Two | |
06 May 2017 | Luton Town v Morecambe | W | 3-1 | League Two |
Please note: Match history is complete for the Premier and Football Leagues and (in most cases all) internationals.
Season | Team | Competition | Apps | Subs | Goals | Y | R |
---|---|---|---|---|---|---|---|
2017-18 | Scotland | International Friendly | 2 | ||||
2018-19 | Scotland | International Friendly | 1 | 1 |
|||
2018-19 | Scotland | UEFA European Championship | 3 | ||||
2018-19 | Scotland | UEFA Nations League | 2 | ||||
2019-20 | Scotland | UEFA European Championship | 2 |
1
|
|||
2020-21 | Scotland | FIFA World Cup | 2 |
1
|
|||
2020-21 | Scotland | International Friendly | 1 | ||||
2020-21 | Scotland | UEFA European Championship | 5 |
1
|
|||
2020-21 | Scotland | UEFA Nations League | 3 | ||||
2021-22 | Scotland | FIFA World Cup | 2 | ||||
2021-22 | Scotland | International Friendly | 2 |
Please note: Career stats are based on performances in the Premier and Football Leagues and (in most cases all) internationals.
Date | Match | Result | Competition | Round | |
---|---|---|---|---|---|
30 May 2018 | Peru v Scotland | L | 2-0 | International Friendly | |
03 Jun 2018 | Mexico v Scotland | L | 1-0 | International Friendly | |
07 Sep 2018 | Scotland v Belgium | L | 0-4 | International Friendly | |
10 Sep 2018 | Scotland v Albania | W | 2-0 | UEFA Nations League | League C Group C1 |
11 Oct 2018 | Israel v Scotland | L | 2-1 | UEFA Nations League | League C Group C1 |
14 Oct 2018 | Scotland v Portugal | L | 1-3 | International Friendly | |
24 Mar 2019 | San Marino v Scotland | W | 0-2 | UEFA European Championship | Qualifying group I |
08 Jun 2019 | Scotland v Cyprus | W | 2-1 | UEFA European Championship | Qualifying group I |
11 Jun 2019 | Belgium v Scotland | L | 3-0 | UEFA European Championship | Qualifying group I |
06 Sep 2019 | Scotland v Russia | L | 1-2 | UEFA European Championship | Qualifying group I |
09 Sep 2019 | Scotland v Belgium | L | 0-4 | UEFA European Championship | Qualifying group I |
08 Oct 2020 | Scotland v Israel | W | 0-0 (5-3) | UEFA European Championship | Play-off semi-final Path C |
11 Oct 2020 | Scotland v Slovakia | W | 1-0 | UEFA Nations League | League B Group B2 |
14 Oct 2020 | Scotland v Czech Republic | W | 1-0 | UEFA Nations League | League B Group B2 |
12 Nov 2020 | Serbia v Scotland | W | 1-1 (5-4) | UEFA European Championship | Play-off final Path C |
18 Nov 2020 | Israel v Scotland | L | 1-0 | UEFA Nations League | League B Group B2 |
25 Mar 2021 | Scotland v Austria | D | 2-2 | FIFA World Cup | Europe group F |
28 Mar 2021 | Israel v Scotland | D | 1-1 | FIFA World Cup | Europe group F |
06 Jun 2021 | Luxembourg v Scotland | W | 0-1 | International Friendly | |
14 Jun 2021 | Scotland v Czech Republic | L | 0-2 | UEFA European Championship | Group D |
18 Jun 2021 | England v Scotland | D | 0-0 | UEFA European Championship | Group D |
22 Jun 2021 | Croatia v Scotland | L | 3-1 | UEFA European Championship | Group D |
07 Sep 2021 | Austria v Scotland | W | 0-1 | FIFA World Cup | Europe group F |
15 Nov 2021 | Scotland v Denmark | W | 2-0 | FIFA World Cup | Europe group F |
24 Mar 2022 | Scotland v Poland | D | 1-1 | International Friendly | |
29 Mar 2022 | Austria v Scotland | D | 2-2 | International Friendly |
Please note: Match history is complete for the Premier and Football Leagues and (in most cases all) internationals.