Buchanan, 25, came through the Quins academy set-up to make his debut against Leicester in 2010, and has since made 116 appearances.
He toured Argentina with England in 2013, but did not play a Test match.
"Rob has made significant strides this season in nailing down the starting hooker position," director of rugby John Kingston said.
"His love of the club is there for all to see and he will play a significant role in the quest for more silverware over the coming years."
The front-rower joins Charlie Mulchrone, Ross Chisholm and Dave Ward in agreeing extended deals with the club.
Quins' academy side has brought through a strong contingent of first-team and international players, with Buchanan, recent England and British & Irish Lions call-up Kyle Sinckler, George Lowe and Joe Marchant all adding depth to the squad.
"I have been with this club since I was 16 and it was an easy decision to extend my time," Buchanan said.
"To be able to work under the guidance of Adam Jones and Graham Rowntree for the coming seasons is incredibly exciting for me, and I am grateful to John Kingston for the opportunity to continue my career here at Harlequins."
Hooker Rob Buchanan has extended his contract with Harlequins, although terms are undisclosed.