Club goals, all competitions
40 vs 46 appearances
Nineteen is the age at which the comparison turned. Erling Haaland scored 44 goals in 40 club games in 2019-20, 28 of them for Red Bull Salzburg before Christmas and 16 for Borussia Dortmund after a January move, with 10 in the Champions League and 6 hat-tricks. Kylian Mbappé's age-19 season was his first in Paris, 2017-18: 21 goals and 15 assists in 46 games, a domestic treble, and then, two weeks after the club season ended, the World Cup. Mbappé had led the running total of career goals at 18; by the end of these two seasons Haaland was 17 ahead and has stayed ahead at every age since. Every figure from both seasons is below, with the running career totals at the end of the age.
Club goals, all competitions
40 vs 46 appearances
Goals per game
Club matches only
League goals
Austrian Bundesliga + Bundesliga vs Ligue 1
Champions League goals
Round of 16 vs Round of 16
Career club goals through age 19
111 vs 104 appearances so far
Team trophies
2 vs 2 individual awards
| Statistic | Haaland | Mbappé |
|---|---|---|
| The age-19 season | ||
| Season(s) | 2019/20 | 2017/18 |
| Club(s) | Red Bull Salzburg / Borussia Dortmund | Monaco / Paris Saint-Germain |
| League | Austrian Bundesliga / Bundesliga | Ligue 1 |
| Turned 19 on | 21 July 2019 | 20 December 2017 |
| Club football, all competitions | ||
| Appearances | 40 | 46 |
| Goals | 44 (better) | 21 |
| Assists | – | 15 |
| Goal involvementsgoals + assists | – | 36 |
| Goals per game | 1.10 (better) | 0.46 |
| Hat-tricksclub and country, three or more goals | 6 (better) | 0 |
| By competition | ||
| League goals29 vs 28 apps | 29 (better) | 13 |
| Domestic cup goals3 vs 9 apps | 5 (better) | 4 |
| European goals8 vs 8 apps, all UEFA competitions | 10 (better) | 4 |
| Champions League goals8 vs 8 apps | 10 (better) | 4 |
| Champions League stage reached | Round of 16 | Round of 16 |
| Group-stage goals6 vs 6 apps | 8 (better) | 4 |
| Knockout goals2 vs 2 apps | 2 (better) | 0 |
| Other (super cups, play-offs) | 0 | 0 |
| League shooting, Understat (Borussia Dortmund in the Bundesliga vs Paris Saint-Germain / Monaco in Ligue 1) | ||
| League minutes | 1,061 | 2,173 |
| Minutes per league goal | 81.6 (better) | 167.2 |
| Non-penalty goals | 13 | 13 |
| Expected goals (xG) | 8.89 | 14.31 |
| Goals minus xG | +4.11 (better) | -1.31 |
| Expected assists (xA) | 1.53 | 8.79 (better) |
| Shots per 90 | 2.80 | 3.31 |
| Key passes per 90 | 0.76 | 2.15 (better) |
| Big chances scored / hadnon-penalty shots with xG ≥ 0.30 | 10/13 | 8/18 |
| Big-chance conversion | 76.9% (better) | 44.4% |
| Honours | ||
| Team trophies | 0 | 3 (better) |
| Individual awards | 2 | 2 |
| Ballon d'Or for the season2020 vs 2018 award | Not awarded (2020) | 4 |
| International, by calendar year (Norway vs France) | ||
| Senior debut by the end of the season | 5 September 2019 | 25 March 2017 |
| Caps, year the season began2019 vs 2017 | 2 | 10 |
| Caps, following year2020 vs 2018 | 5 | 18 |
| Goals, year the season began2019 vs 2017 | 0 | 1 (better) |
| Goals, following year2020 vs 2018 | 6 | 9 (better) |
| Career to date at the end of the age-19 season | ||
| Club goals before age 19 | 21 | 27 (better) |
| Club goals through age 19 | 65 (better) | 48 |
| Club appearances through age 19 | 111 | 104 |
| Career goals per game so far | 0.59 (better) | 0.46 |
An age-19 season is the club season that began in the calendar year in which the player turned 19: Haaland's 2019-20 (Salzburg and Dortmund), Mbappé's 2017-18 (Monaco and PSG). Haaland's window runs from 1 July 2019 to 31 August 2020, because the 2019-20 Champions League was completed in August; Mbappé's from 1 July 2017 to 30 June 2018, so the 2018 World Cup he won on 15 July 2018, aged 19, falls outside his club window and inside the calendar-year 2018 international row. Understat covers the big five leagues only, so Haaland's shooting rows are his Bundesliga minutes for Dortmund alone. Salzburg completed another league and cup double in 2019-20 after Haaland had left in December; the dataset does not credit him with either. The 2020 Ballon d'Or was not awarded.
| Player | Season | Club | Competition | Apps | Goals | Assists | Goals/game |
|---|---|---|---|---|---|---|---|
| Erling Haaland | 2019/20 | Red Bull Salzburg | Austrian Bundesliga | 14 | 16 | – | 1.14 |
| Erling Haaland | 2019/20 | Red Bull Salzburg | ÖFB-Cup | 2 | 4 | – | 2.00 |
| Erling Haaland | 2019/20 | Red Bull Salzburg | UEFA Champions League | 6 | 8 | 1 | 1.33 |
| Erling Haaland | 2019/20 | Borussia Dortmund | Bundesliga | 15 | 13 | – | 0.87 |
| Erling Haaland | 2019/20 | Borussia Dortmund | DFB-Pokal | 1 | 1 | – | 1.00 |
| Erling Haaland | 2019/20 | Borussia Dortmund | UEFA Champions League | 2 | 2 | – | 1.00 |
| Kylian Mbappé | 2017/18 | Monaco | Ligue 1 | 1 | 0 | 0 | 0.00 |
| Kylian Mbappé | 2017/18 | Monaco | Trophée des Champions 2017 | 1 | 0 | 0 | 0.00 |
| Kylian Mbappé | 2017/18 | Paris Saint-Germain | Ligue 1 | 27 | 13 | 8 | 0.48 |
| Kylian Mbappé | 2017/18 | Paris Saint-Germain | Coupe de France | 5 | 4 | 2 | 0.80 |
| Kylian Mbappé | 2017/18 | Paris Saint-Germain | Coupe de la Ligue | 4 | 0 | 2 | 0.00 |
| Kylian Mbappé | 2017/18 | Paris Saint-Germain | UEFA Champions League | 8 | 4 | 3 | 0.50 |
Haaland's age-19 season is split between Red Bull Salzburg (July to December 2019) and Borussia Dortmund, whom he joined on 1 January 2020 after triggering a €20m release clause. Mbappé's is split between one Ligue 1 match and the Trophée des Champions for Monaco in late July and early August 2017 and the rest of the season on loan at Paris Saint-Germain, who were obliged to buy him for €180m at its end. Assists for Haaland's Austrian and German competitions have no verifiable per-competition source apart from his Champions League assist and are left blank; Mbappé's Coupe de France assists are an estimate, as noted in the dataset.
| Date | Player | Team | Opponent | Competition | Goals |
|---|---|---|---|---|---|
| 19 July 2019 | Haaland | Red Bull Salzburg | SC-ESV Parndorf | Austrian Cup | 3 |
| 10 August 2019 | Haaland | Red Bull Salzburg | Wolfsberger AC | Austrian Bundesliga | 3 |
| 14 September 2019 | Haaland | Red Bull Salzburg | TSV Hartberg | Austrian Bundesliga | 3 |
| 17 September 2019 | Haaland | Red Bull Salzburg | Genk | UEFA Champions League | 3 |
| 10 November 2019 | Haaland | Red Bull Salzburg | Wolfsberger AC | Austrian Bundesliga | 3 |
| 18 January 2020 | Haaland | Borussia Dortmund | Augsburg | Bundesliga | 3 |
| Date | Player | Milestone |
|---|---|---|
| 31 August 2017 | Mbappé | Joined PSG on loan with €180m obligation; scored first France goal same day v Netherlands |
| 5 September 2019 | Haaland | Senior Norway debut v Malta |
| 17 September 2019 | Haaland | Champions League debut, first-half hat-trick v Genk |
| 29 December 2019 | Haaland | Signs for Borussia Dortmund (€20m release clause) |
| 18 January 2020 | Haaland | Dortmund debut: hat-trick as substitute v Augsburg |
Full lists on the records and milestones page.
Haaland struck twice in eight second-half minutes either side of a Neymar goal set up by Mbappé, giving Dortmund a 2-1 first-leg lead. The 19-year-old Norwegian's second, a rocket from outside the box, became one of the goals of the season.
Signal Iduna Park (Westfalenstadion), Dortmund
In an empty Parc des Princes, first-half goals from Neymar (28') and Juan Bernat (45+1') overturned the tie for PSG. Haaland was kept quiet and Mbappé, recovering from illness, came off the bench in the second half as PSG advanced 3-2 on aggregate.
Parc des Princes, Paris (behind closed doors, COVID-19)
Full list of meetings on the head-to-head page.
Team: none
Individual: Austrian Footballer of the Year · Austrian Bundesliga Player of the Season
Team: Ligue 1 (Paris Saint-Germain) · Coupe de France (Paris Saint-Germain) · Coupe de la Ligue (Paris Saint-Germain)
Individual: Ligue 1 Young Player of the Year · Golden Boy
Haaland turned 19 on 21 July 2019, two days after a hat-trick against Parndorf in the Austrian Cup, and spent the next five months scoring at a rate nobody in European football could match. He scored 16 goals in 14 Austrian Bundesliga games, 4 in 2 cup ties and 8 in 6 Champions League group matches: 28 goals in 22 games for Salzburg, with 5 hat-tricks, before Dortmund paid his €20m release clause on 29 December 2019. He was named Austrian Bundesliga Player of the Season for a campaign he left at the halfway point, and the Kronen Zeitung's Austrian Footballer of the Year for 2019. Salzburg went on to win the league and cup without him; the dataset credits him with neither, which is why the trophy row reads 0 to 3.
His Dortmund debut on 18 January 2020 is still the most famous of the modern Bundesliga: a 23-minute hat-trick from the bench at Augsburg that turned a 3-1 deficit into a 5-3 win. Two more goals as a substitute against Köln a week later and two against Union Berlin on 1 February made it seven in his first three league games, and he was the Bundesliga's Player of the Month for January. He finished with 13 league goals in 15 appearances, a goal every 81.6 minutes, as Dortmund finished second to Bayern, plus one in the DFB-Pokal defeat at Werder Bremen and 2 in the Champions League. Across the two clubs the season came to 44 goals in 40 games, 1.10 per game, the first of the goal-a-game seasons that have defined his career. Mbappé's rate in Paris, 0.46 per game, was lower than his Monaco figure of the year before, because he spent the season on the right of a front three built around Neymar and Edinson Cavani.
Mbappé began 2017-18 as a Monaco player, losing the Trophée des Champions to PSG on 29 July and playing one Ligue 1 match against Toulouse on 4 August, and ended it as the most expensive teenager in history. He joined PSG on deadline day, 31 August 2017, on a loan with an obligation to buy for €180m, scored on his debut at Metz on 8 September and scored again in his first Champions League game for the club at Celtic four days later. The season's return was 21 goals and 15 assists in 44 games for PSG: 13 goals and 8 assists in Ligue 1, 4 goals in the Coupe de France and 4 in the Champions League. PSG won the league by 13 points and both domestic cups, so he collected 3 team trophies to Haaland's 0, and he retained the Ligue 1 Young Player of the Year award and collected the 2017 Golden Boy in December. His 15 assists are a column Haaland cannot answer: the dataset has no verified assist figure for Haaland's Austrian or German league seasons, only the one Champions League assist.
Both players reached ten career Champions League goals during these seasons. Mbappé's tenth came at Bayern Munich on 5 December 2017, fifteen days before his 19th birthday, the youngest player to reach the mark; his 4 goals that season all came in the group stage, against Celtic twice, Anderlecht and Bayern, and PSG went out to Real Madrid in the round of 16 without a goal from him in either leg. Haaland's 10 came in a single season: a first-half hat-trick on his debut against Genk on 17 September 2019, goals at Anfield and home and away against Napoli, a fifth consecutive scoring game at Genk that made him the first teenager to score in five Champions League matches in a row, and then two for Dortmund against PSG on 18 February 2020, which took him to ten at 19 years and 212 days, the second-youngest after Mbappé. That Dortmund v PSG tie was also the first time the two had faced each other: Haaland's two goals won the first leg 2-1, Mbappé set up Neymar's equaliser, and PSG won the return 2-0 in an empty Parc des Princes to go through. Both matches are itemised above.
Understat has Mbappé's full Ligue 1 season but only Haaland's Bundesliga half, so the shooting rows compare 2,173 minutes with 1,061. Haaland scored 13 from 8.89 expected goals, an overperformance of +4.11, and scored 10 of his 13 big chances (76.9%). Mbappé scored 13 from 14.31, -1.31, and 8 of 18 big chances (44.4%), but took more shots (3.31 per 90 to 2.80) and did far more of the creating: 8.79 expected assists and 2.15 key passes per 90 against Haaland's 1.53 and 0.76. Neither scored a league penalty in these seasons. The pattern of the two careers is already set here: Haaland the pure finisher at 81.6 minutes a goal, Mbappé the wide forward whose goals come with assists attached.
Haaland's senior Norway debut came against Malta on 5 September 2019, six weeks after his 19th birthday; he won 2 caps in 2019 without scoring, and the 6 goals in 5 caps shown for 2020 all came from September 2020 onwards, when he was 20. Mbappé's 2017 figures, 10 caps and 1 goal, include his first France goal against the Netherlands on 31 August 2017, the day his PSG move was confirmed, and his first World Cup qualifiers. Then came 2018: 18 caps, 9 goals, and the World Cup. Mbappé scored four times in Russia, two of them in the 4-3 win over Argentina and one in the final against Croatia on 15 July 2018, at 19 years and 207 days the second teenager after Pelé to score in a World Cup final, and was named the tournament's best young player. The final fell 15 days after his age-19 club window closed, so the medal and the awards that followed it are counted with his 2018-19 season, which will have an age-20 page of its own, but he was 19 when he won it. The Ballon d'Or that judged the season placed him fourth in December 2018; the 2020 ceremony that would have judged Haaland's was cancelled.
On goals it is not close. Haaland scored 44 to Mbappé's 21, more than doubled him in the Champions League (10 to 4), scored 6 hat-tricks to none and turned a running-total deficit of 6 at the end of the age-18 seasons into a lead of 17. On everything else it is Mbappé: 15 assists, three domestic trophies, a Champions League round of 16 reached with a club that expected more, fourth in the Ballon d'Or, and a World Cup winner's medal won at 19 and recorded on the next page. The same-age comparison follows the running total through every age, and the goals-by-age article picks the story up at 20, when both scored around 40.
As a goalscorer, Haaland: 44 club goals in 40 games in 2019-20 for Salzburg and Dortmund, with 10 in the Champions League and 6 hat-tricks, against Mbappé's 21 in 46 for Monaco and PSG in 2017-18. Mbappé had the better all-round season and the medals: 15 assists, a domestic treble, fourth in the Ballon d'Or, and the 2018 World Cup, won two weeks after his club season ended while he was still 19.
44 club goals in 40 appearances in 2019-20: 28 in 22 games for Red Bull Salzburg between July and December 2019, then 16 in 18 for Borussia Dortmund from January 2020. 29 were league goals, 5 came in domestic cups and 10 in the Champions League.
21 club goals and 15 assists in 46 appearances in 2017-18, all of the goals for Paris Saint-Germain: 13 in Ligue 1, 4 in the Coupe de France and 4 in the Champions League. He also scored 9 goals in 18 France games in calendar-year 2018, four of them at the World Cup.
Yes. He was 19 years and 207 days old when France beat Croatia 4-2 in the final on 15 July 2018, and he scored the fourth goal. Because this page follows club seasons, which end on 30 June, the World Cup falls just after his age-19 window and is recorded with his 2018-19 season; the 18 caps and 9 goals shown for 2018 include it.
Ten each. Mbappé had six for Monaco at 18 and added 4 for PSG in 2017-18, reaching ten against Bayern Munich on 5 December 2017 as the youngest player to do so. Haaland scored all 10 of his in 2019-20, eight for Salzburg and two for Dortmund against PSG, reaching ten on 18 February 2020 as the second-youngest.
Haaland: 65 club goals in 111 games against Mbappé's 48 in 104. Mbappé had led 27 to 21 a year earlier; Haaland's 44-goal season swung the running total by 23 goals and he has led at every age since.