The attackers first hijacked a car, then opened fire at a bus station before entering a police station in Gurdaspur district, officials said.
Five people, including two policemen, have been killed and at least six wounded.
Police believe that the attackers are from Indian-administered Kashmir.
Dinkar Gupta said that police were exchanging gunfire with the attackers who have occupied the police barracks.
Such assaults are common in disputed Kashmir, but attacks in neighbouring Punjab are extremely rare.
Security forces have been sent to the area as reinforcements. The dead include Punjab's Superintendent of Police (Detective) Baljit Singh, Gurdaspur police chief Salwinder Singh told BBC Hindi.
The state-run All India Radio said four to five armed men had "fired upon a bus, injuring some passengers" at the bus station. Then they entered a police station.
Gurudaspur's deputy police commissioner Abhinav Trikha told the AFP news agency that the attackers appeared to be holed up inside the residential quarters at the police station and were "firing continuously".
"They were dressed in army uniforms and came in a Maruti [Suzuki] car," he told reporters at the scene.
Bombs had been found on the railway tracks at the Dinanagar railway station, according to Indian media.
Indian media reports said the police station was close to the border with Pakistan and that the unidentified attackers came dressed in military uniform.
"There have been earlier reports of cross-border infiltration [in Gurdaspur] and Pakistani mischief in the area," India's junior minister for home affairs Jitendra Singh told reporters. Pakistan has not reacted to the incident.
Gurdaspur is a vast and rural district, not as prosperous as other districts in Punjab. It is not immediately an obvious choice for an assault such as this.
But this is not the first time it has seen such an attack: five years ago people witnessed a bloody gun battle in the district between militants and local policemen.
And it is also one of Punjab's most populous districts, sandwiched between the state's two major rivers, Ravi and Beas, and sharing common boundaries with Indian-administered Kashmir and Pakistan.
Locals believe that this time the gunmen may have come from Indian-administered Kashmir or slipped in through some of the porous parts of the riverine tracts of the international border with Pakistan.