A senior aide told AFP news agency it was “an attempt to kill him”, but police are yet to confirm that he was the target.
Members of his PTI party said another four people were hurt in the shooting.
Mr Khan, 70, was leading the march on the capital Islamabad to demand snap elections after he was ousted in April.
The former prime minister was seen being taken to a hospital in Lahore. A party spokesman said he had been hit in the shin.
Another party leader, provincial health minister Yasmeen Rashid, said Mr Khan was in a stable condition.
Police released a video confession of a man they arrested who they say had attempted to kill the former PM.
It is unclear under what conditions the interview was carried out, but in it the man is asked by police why he opened fire, and replies: “He was misguiding the people. I wanted to kill him. I tried to kill him.”
A PTI member is also seen with a bandage on his face and blood on his clothing, saying that people should pray for Mr Khan and all those injured.
“This was an attempt to kill him, to assassinate him,” Mr Khan’s senior aide Raoof Hasan told AFP.
Current Prime Minister Shehbaz Sharif condemned the shooting and ordered an immediate investigation. President Arif Alvi said the incident was a “heinous assassination attempt”.
Mr Khan has been leading a protest march – the second such rally this year – for the past seven days, calling for new elections.
The government has repeatedly said it will hold elections next year, as planned.
Last month, Pakistan’s election commission disqualified Mr Khan from holding public office in a case described by the former star cricketer as politically motivated.
He had been accused of incorrectly declaring details of gifts from foreign dignitaries and proceeds from their alleged sale. The gifts included Rolex watches, a ring and a pair of cuff links.
Pakistan has a long history of deadly political violence.
In the most high-profile case, former Prime Minister Benazir Bhutto was assassinated at a public rally in 2007.
Courtesy : BBC NEWS