The 35-year-old moved to Loftus Road in 2010 after being released by Crystal Palace.
Hill captained QPR during their Championship playoff final victory over Derby County at the end of last season.
"I was always hopeful that I'd get a new deal, so to get it sorted so soon is great," the centre-back told the club's official website.
"I've enjoyed some great experiences at QPR over the last four years, I'm settled here, and I'm excited about being part of this club for another season."
QPR get their Premier League campaign underway at home to Hull City on August 16.