The England international has signed after passing a medical and is expected to fly out to Germany to join up with the rest of the QPR squad for the club's pre-season tour.
The 22-year-old completes his move to Loftus Road just days after fellow centre-back Rio Ferdinand also agreed to join the newly-promoted Premier League club.
"I'm very excited to be here. It was important for me to be back playing in the Premier League and (QPR manager) Harry Redknapp has given me the opportunity to be at this fantastic club," Caulker told the club's official website.
"Harry was a big factor for me having worked with him at Tottenham. He was very keen for me to join and it was a big plus knowing the manager wants you.
"Being able to play with Rio was also a big draw. He has been a role model of mine for many years, along with Ledley King. To have the opportunity to play alongside him was something I felt I couldn't miss out on.
"Our first aim this season has to be to get to 40 points to make sure we stay up. That's our first goal."
Redknapp added: "Steven’s a top player, so we’re delighted to have him at QPR.
The R’s are facing their first season back in the Premier League following one season in the Championship, which culminated with a dramatic play-off final win over Derby County.
Shea666 - I actually think it's the opposite, he wasn't playing for us and went to a team where he would get the games, made the same move here it seems.- dryice