Lahore police chief Habib-ur Rehman said 12 gunmen attacked the convoy near Lahore's Gaddafi stadium with rockets, hand grenades and automatic weapons and were involved in a 25-minute shoot-out with the security forces.
"They appeared to be well-trained terrorists. They came on rickshaws," he told reporters.
A police official said two civilians and six police officers who were guarding the players were killed in the attack which happened as the team was heading for the third day's play in the second Test against Pakistan.
Television footage of several gunmen creeping through the trees, crouching to aim their kalashnikovs then running onto the next target were aired by Pakistan's private channel Geo.
Crystals of broken glass littered the road next to a gun cartridge and an empty rocket-propelled grenade launcher. A police motorbike was shown crashed sideways into the road at the Liberty Chowk (roundabout) in Lahore.
Bullet holes ripped through the windscreen of another vehicle and a white car was shown smashed headlong into the roundabout as nervous security officers guarded the site.
Sri Lankan authorities said six players were believed to have been wounded.
In Sri Lanka, Sports Minister Gamini Lokuge said Tharanga Paranavitana and Thilan Samaraweera had been taken to hospital in Lahore.
Sri Lankan skipper Mahela Jayawardena was also slightly wounded in the foot, his father told a Sri Lankan local television station after speaking with his son by telephone.
Samaraweera is one of Sri Lanka's leading players. He became only the seventh batsmen in Test cricket to notch a double hundred in consecutive matches on Monday, scoring 214 after a 231 in the drawn first Test.
Fears of attacks by Islamic militants linked to Al-Qaeda have caused many teams to postpone or cancel cricket tours to Pakistan in recent years.
Australia earlier this month forced Pakistan to change the venue of a one-day series to the neutral venues of Dubai and Abu Dhabi when the two sides meet in April-May this year over security fears.
Australia, who also played Pakistan in three Tests at the neutral venues of Colombo and Dubai in 2002, have not toured here since 1998.
India also refused to send its team across the border amid heightened tensions in the wake of attacks on the Indian city of Mumbai, which New Delhi blamed on militants based in Pakistan.
Pakistan, India, Sri Lanka and Bangladesh are due to jointly host the cricket World Cup in 2011.
Last month, Pakistan's cricket chief vowed to improve security arrangements for the 10th edition of the four-yearly event and denied there was a risk associated with staging some of the games in the troubled country.
Last month, security concerns raised by other teams forced the ICC to move the 2009 Champions Trophy out of Pakistan.
The elite eight-nation Trophy was to be held in September-October this year but the ICC was to announce a new venue in April.
The event was originally scheduled for last year but was put off after South Africa pulled out of the event and Australia, England and New Zealand showed reluctance to tour because of fears about players' safety.
The shooting also came as the Sri Lankan army pushed its final offensive against ethnic Tamil Tiger rebels in the north of the country in a civil war that has claimed tens of thousands of lives.
Follow Emirates 24|7 on Google News.