A man has been arrested after another man died following a one-punch attack at an inner-city Sydney pub.

Officers were told about 4:00pm yesterday a 52-year-old man was struck in the head before falling to the ground outside the Grosvenor Hotel in Waterloo.

He suffered a cardiac arrest and died early this morning at St Vincent's Hospital.

Just after 10:00am today, a man was taken into custody and is now helping police with their enquiries.

A local resident heard an argument outside his home leading up to the altercation.

He said the disagreement went on for several minutes before it escalated.

"There [were] arguments for several minutes before the actual event took place," he told the ABC.

"I didn't see the event, I was inside. And then I heard the screaming and screaming and someone came out, and then I saw the man giving CPR."

A crime scene has been set up at the hotel, which is being examined by specialist forensic officers.

Police have urged anyone who witnessed the incident, or has information about it, to come forward.