Senior Sergeant Anthony Bond said two men in their mid 20s were caught out by large swells at St Kilda Beach about 6.10pm.
They were rescued by two other beachgoers and taken to Dunedin Hospital.
One of the rescuers, a 23-year-old man, was also taken to the emergency department for observation, Snr Sgt Bond said.
A St John spokeswoman said a rapid response unit and an ambulance attended.
Two patients were admitted to hospital — one in a serious condition and one in a moderate condition, she said.