Police said a male suspect arrested at the scene is suffering from stab wounds after a fight broke in the Opium nightclub on the Paseo Marítimo de Marbella on Sunday.
Social media footage shows a man brandishing a huge vodka bottle in a fight about 1am before gunfire is heard.
Another video appears to show a woman in a black bikini lying in the recovery position as she is treated for injuries by her friends before paramedics arrive.
A resident in the area who witnessed the scene told El Confidencial: “I couldn’t sleep because of the noise from the disco and suddenly I heard the four shots. I looked out because from the beginning I knew that these were not fireworks like the ones that had been launched on other nights.
“I saw many people running and leaving the premises so I called the police.”
A British expat caught up in the shooting told The Sun: “They were swinging around those massive bottles of Belvedere Vodka and the bouncers charged back to try to sort it out and that’s when the shooting started.
“I was with my husband and he just flung himself on top of me because at one point the gunman seemed to be shooting out into the crowd.
“There was a real mad panic and everyone just rang for the exits. It was all very confusing.”
The Police Association confirmed the incident saying there were four other gunshot injuries and a suspect is in hospital under police guard.
The force has not officially confirmed any deaths.
South African DJ Black Coffee, whose real name is Nkosinathi Innocent Maphumulo, was among those due to perform at Opium Beach Club on Sunday night.
He later posted a message on his Instagram story: “Hope everyone got home safe from Opium Beach Marbella.”