John McGinn has signed a new contract with Aston Villa, keeping him at the club until 2027.
McGinn joined Villa from Hibernian in 2018 and helped the club return to the Premier League a year later, scoring the decisive goal in a 2-1 playoff final win over Derby County at Wembley.
"The Wigan game when I joined, I remember flying into a tackle and the place erupted and from that moment I just knew that this was the right place for me," McGinn said in a video on the club's official Twitter page.
"There's been plenty of ups and downs, but I've loved every minute. We've been pretty successful and I think this season [2022/23] optimised what everyone wants to achieve, shows the potential and ambition that everyone has and we're really starting to fulfil that and with the manager and staff in place at the moment.
"If you told me when I was young if you'd be playing every week in the Premier League against the best players in the world for a club like Aston Villa, it's just a pinch yourself moment.
"Some of the memories have been absolutely amazing, and it's just been a privilege to have been a part of it."
McGinn has made 134 Premier League appearances and scored 10 times.
The Scotland international was named club captain at the start of 2022/23 and helped Villa finish seventh to qualify for next season's UEFA Europa Conference League.
Villa start their pre-season on 15 July against Walsall, before taking part in the Premier League's Summer Series tournament.
Their first match of the 2023/24 season is a trip to Newcastle United on Saturday 12 August.