Keinhorst made 17 appearances in 2015 and was a substitute in the team which beat Wigan Warriors at Old Trafford, providing the pass which put Josh Walters over for the winning try.
The German international made his debut in 2012 and has scored 11 tries in 33 senior appearances.
He spent last season on loan at Wakefield Trinity Wildcats and has also played for Hunslet Hawks, on dual registration.
Keinhorst became a first team regular after switching from centre to second-row last season, when he wore the No 20 jersey.
He said, “It was an incredible season for the club and everyone is excited about the future.
“I am pleased to have my future sorted now and can look forward to the next three years with confidence.
“I have learnt so much over the last four years since making my debut, but I know I need to keep working hard.
“The competition is going to be even tougher next season and I am looking forward to having a big pre-season to help the team reach our goals again.”
Rhinos coach Brian McDermott said: “Jimmy thoroughly deserves his new deal and his elevation in the squad numbers as recognition of the work he has put in over the last few seasons.
“He is a perfect example of how the dual-registration system should work. Two years ago he developed massively on loan at Hunslet and it was [Hawks coach/Rhinos assistant-boss] Barry Eaton who suggested moving him to the forwards this season and he naturally slotted into that position with the qualities Jimmy has in his game.
“I am sure he will continue to progress over the next few years and I am looking forward to working with him to help him achieve his potential.”