Azhar Mashwani, an official with Khan’s Pakistan Tehreek-e-Insaf party, confirmed to Al Jazeera on Thursday that the politician was shot in the leg but was not in danger.
Six others, including another politician, Faisal Javed Khan, were also reportedly injured in the attack.
Khan, who had been leading a protest march to the capital, Islamabad, demanding snap elections, was taken to a hospital in Lahore.
His supporters have called it an assassination attempt.
The identity of the gunman, who was arrested by police at the scene, was not immediately clear. No group has claimed responsibility for the attack.
Footage on local media showed Khan with a bandaged leg moving from his truck to another vehicle with the help of his security team.
Prime Minister Shehbaz Sharif issued a statement condemning the incident and asked authorities to immediately launch an investigation.
Khan began his long march on October 28 from Lahore and is expected to reach Islamabad on November 11.
His government was removed in April this year through a parliamentary vote of no confidence. Since then, Khan has been holding rallies across the country, demanding early elections.