The 25-year-old, whose current one-year deal was due to expire next summer, is Leeds' leading goalscorer this season with seven strikes from 12 appearances.
"I'm delighted to sign. When I came here to try out I never imagined I would be in this position," he told the club`s official website.
"The aim for me is to get goals and play a part in getting the club in the Premier League.
"It's been a great start to the season, there's great staff here and it's a great club to be at.
"The South African-born forward arrived on trial last season and was loaned out to Lincoln, where he scored nine goals in 14 games.