Hughes would have been out of contract this summer but the new deal runs until June 2024.
The 29-year-old has made 123 appearances for North End since joining from Peterborough United in June 2018.
Initially operating as a left-back, Hughes has moved inside to play on the left side of a three-man defence since April and has thrived in that position.
On Monday he scored North End's winner against Stoke City, that coming in his 300th career game.
Hughes said: "I’m over the moon. I’m delighted to get it done, in the end it was an easy decision.
"I feel really settled here. I love the place, I love the club, I love everything about it so it was my main priority to stay at Preston.
"There was not once where I ever really wanted to leave, it was just making sure things were right for myself and the club, and I’m grateful that we’ve managed to get it done."
He's the fourth PNE player to agree new contract terms in recent months, following on from Jordan Storey, Brad Potts and Emil Riis.
North End manager Ryan Lowe said: "We’re really pleased to tie him down. He’s not only a good footballer, but a fantastic lad, and when you’ve got them in the building that always helps.
"From the minute I came through the door he’s showed his attitude and application in training, and he’s proved over the two games we’ve had that he wears his heart on his sleeve.
"I’m pleased he’s committed his future to Preston North End and we’re expecting more big things from him."
Thanks for reading. If you value what we do and are able to support us, a digital subscription is just £1 month for the first two months. Try us today by clicking here