Messi, 32, scored 36 league goals for Barcelona last season to finish ahead of Mbappe, who scored 33 in France, and Sampdoria's Fabio Quagliarella, who netted 26 times in Italy's Serie A.
It was the third successive season that the Barca forward has claimed the prize, which he has won on more occasions than any other player.
Juventus' Cristiano Ronaldo has won it four times -- once with Manchester United and three times with Real Madrid -- while Spain's La Liga has now provided 14 of the last 15 winners.
"I want to thank my family, the board and my teammates," Messi said. "Thanks especially to Luis and Jordi, who are two of the big reasons I have been able to win this sixth Golden Shoe.
"But even though I am here with the trophy, this is recognition for the whole dressing room. Thank you!"
Messi also won FIFA's The Best in September, fending off competition from Ronaldo and Liverpool defender Virgil van Dijk, and is in the running to win the Ballon d'Or for a sixth time later this year.
He has not enjoyed team success in the Champions League since 2015 but, despite being desperate for more European glory, the Argentina international said La Liga remains Barca's main priority.
"Obviously the Champions League is special and we want to win it every year but winning La Liga is the most important thing," he added. "Being consistent in the league helps you to carry that form into the Champions League and the Copa del Rey.
"Even though the Champions League is huge, we never forget the league and the cup. At Barcelona, we always want to win everything."
Messi has missed a number of games through injury this season but scored his first goal of the campaign in the win against Sevilla prior to the international break.
Barca return to action this weekend in La Liga with a trip to Eibar.