The 24-year-old has agreed a three-and-a-half-year deal at Loftus Road.
Freeman scored 10 goals in 121 appearances for the Robins after joining from Stevenage in 2014.
"I've been a great admirer of Luke and his creativity is something we'll really feel the benefits of," R's boss Ian Holloway told the club website.
Freeman is QPR's third signing of the January transfer window.
Find all the latest football transfers on our dedicated page or visit our Premier League tracker here.
Queens Park Rangers have signed midfielder Luke Freeman from fellow Championship club Bristol City for an undisclosed fee.