Prime Minister Benjamin Netanyahu condemned “as a most serious incident” what was the worst attack in years on the event in Jerusalem, a city where the religious population is more prominent than in other parts of Israel.
Marchers numbering about 5,000 and waving banners were heading down an avenue when an ultra-Orthodox man jumped into the crowd and plunged a knife into some of them, witnesses said.
Police arrested the suspected perpetrator and were questioning him, police spokesman Assi Aharoni said.
The man had recently been released from prison after serving a sentence for stabbing several people at a gay pride parade in 2005, police spokeswoman Luba Samri said.
Samri said the attacker, Yishai Schlissel, was arrested.
Police and medics said the assailant had wounded six people. Two were taken to hospital in serious condition.
“I saw an ultra-Orthodox youth stabbing everyone in his way,” said Shai Aviyor, a witness interviewed on Israel’s Channel 2 television.
The march, which attracts thousands of participants, has long been a focus of tension between Israel’s predominantly secular majority and the ultra-Orthodox Jewish minority, who object to public displays of homosexuality.
While the event takes place annually in the more gay friendly business hub of Tel Aviv without incident, in Jerusalem, where the religious population is more prominent, violence has erupted in the past.
The march is held in the largely Jewish side of the divided city. Palestinians predominate in occupied East Jerusalem.
Oded Fried, the head of a leading gay rights group, said the attack would not deter the movement.
“Our struggle for equality only intensifies in the face of such events,” he said.
Netanyahu said in a statement: “This is a most serious incident. We will prosecute those responsible to the full extent of the law. Freedom of individual choice is a basic value in Israel.”
Anti-gay activists from the far-right Jewish group Lehava were protesting at the parade.