The attack began at 5:30 am when three terrorists, dressed in army uniforms, tried unsuccessfully to grab a tempo on a major highway.

They then opened fire on a bus, injuring six passengers before shooting and injuring the driver of a Maruti 800 which they car-jacked and drove to a police station in the town of Dinanagar, where they remained holed up in an empty building till they were killed.

Five bombs were found on train tracks nearby in the morning, suggesting plans for a coordinated terror attack.

For 12 hours, a gunbattle raged between the Punjab police and the terrorists, who were "very well prepared with grenades" according to a commando who spoke to NDTV.

"It was a very serious terror attack," said National Security Advisor Ajit Doval who was part of a top-level meeting at the PM's home this evening to review security preparations and the attack.

The seven people killed by the terrorists include four police officers including superintendent Baljeet Singh, who was shot in the head.

The three civilians who died included the owner of a roadside dhabha or food stall and people at the police station, according to sources.

By 5.30 pm, the terrorists had been killed. Sources said the police hoped to catch at least one of the terrorists alive, which is why the gunbattle stretched so long.

"I can't understand why time and again cross border terror incidents are taking place when we want good relations with our neighbour," Home Minister Rajnath Singh said, according to news agency PTI. "We will not be the first to strike, but if we are hit, we will give a befitting reply," he said.