Fighting broke out near the railway station at the heart of the rebel stronghold of Donetsk in what separatists said was an attempt by government forces to seize back the east Ukrainian city.
The government in Kiev denied sending the regular army into the centre of Donetsk, which the separatists captured in April.
But it said small "self-organised" pro-Ukrainian groups were fighting the pro-Russian rebels in the city.
Five people were killed and 12 wounded in clashes near the railway station and close to the airport outside Donetsk, local officials said.
Four days after a Malaysian airliner was brought down about 60km away, rebels are jumpy in Donetsk, one of two cities they still hold after being ousted from several towns by the government forces this month.
When a rebel leader reported shooting at the railway station, dozens jumped into minibuses to join the fray, and artillery fire sent plumes of smoke skywards.
But almost as quickly as the shelling started, it eased, leaving a control tower at the railway station with shattered windows.
By late afternoon, local authorities said the train service was disrupted but still running.
A Reuters witness could hear gunfire in the region.
An electricity substation was partially destroyed, and people with suitcases were leaving the area.
"It is dangerous near the railway station!" the Donetsk city council said in a statement on its website after the shooting began, asking residents in the area to stay indoors.
It said a nine-storey house had been damaged in the shelling and that transport had been halted in the area.
Donetsk is central to the rebel uprising against rule by Kiev, and Ukrainian President Petro Poroshenko has vowed to retake the city as part of what his administration calls an "anti-terrorist operation" against the separatists.
He has, however, instructed the army not to fight within a 40km radius of the site where Malaysia Airlines flight MH17 came down on Thursday, killing all 298 people onboard.
But that does not cover Donetsk.
A statement from the headquarters of the "anti-terrorist operation" said the army had taken control of a suburb of Donetsk, and the president said soldiers were "freeing" the village of Dzerzhinsk, about 60km north of Donetsk.
Security Council spokesman Andriy Lysenko said work was under way around Donetsk on "clearing approaches to the city, destroying checkpoints of the terrorists".
"If there are explosions in the middle of the city, then it is not Ukrainian soldiers," he told a news conference.
"We have strict orders not to use air strikes and artillery in the city. If there is fighting in the city, we have information that there is a small self-organised group who are fighting with the terrorists."