Alejandro Alfaro gave Real Mallorca's survival hopes another boost as his two goals helped see off Sevilla 2-1 in the Primera Division.
A week after he scored his first league goal of the season as Mallorca came from behind to win at Granada, the forward netted in each half to move his side up to third bottom, just one point from safety.
Alvaro Negredo briefly levelled for Sevilla just after the hour mark, but, with the lively Giovani Dos Santos causing plenty of problems, the hosts fully deserved their win.
They finished the match with 10 men after the sending-off of Javi Marquez for a second yellow card in the third minute of stoppage time, but by then the work was done.
After a run of six defeats and two draws in eight league games, the islanders have now won two in a row.
They went in front after 16 minutes when Alfaro slotted home after Giovani's free-kick had been parried by Antonio Beto.
Alfaro threatened a second when his close-range effort was blocked by Beto as the strugglers continued to press.
Fernando Tissone crashed a 25-yard volley off the bar for the hosts.
Sevilla finally began to show some appetite for the fight and Ivan Rakitic tried his luck from 30 yards, but Dudu Aouate parried his effort.
They had Beto to thank in the 59th minute, though, when his brilliant parry to keep out a Giovani header prevented the visitors from falling two behind.
Instead, two minutes later, they were level.
Rakitic played in Negredo from the left and the Spain striker finished with a left-footed shot low into the corner of the net.
Mallorca's heads did not drop, though, and they regained the lead in the 67th minute.
The busy Beto pushed Giovani's shot behind for a corner, with the Mexican heading the resulting set-piece from Jose Luis Marti against the bar.
And Alfaro was in the right place at the right time again to net his second of the match.
The Rakitic-Negredo combination almost got Sevilla back into it again, but striker Negredo's header from his team-mate's corner was parried by Aouate.
Mallorca were reduced to 10 when Marquez was shown a second booking deep into injury time, but there was no time for Sevilla to respond and the hosts saw out an important win.