The day also saw close games in Chieti, where Italy beat Greece for their first EuroBasket win in eight years, and Russia edged France 63-59.
And in Lanciano, Belgium were pushed hard by Germany before prevailing, 61-53.
The Spanish led by as many as 13 points but found themselves 78-76 ahead with just nine seconds remaining.
Elisa Aguilar, who had a game-high 22 points, made one of two from the charity stripe and Amaya Valdemoro then fouled Monika Veselovski with 1.20 seconds left on the clock, which prevented the Serbians from attempting a three-pointer.
Veselovksi missed both free throws.
Belarus demolished Croatia 92-66 to clinch their first-ever win at EuroBasket Women, with the Croatians now assured of finishing bottom of Group D.
In Chieti, Italy got 16 points and 12 rebounds from Kathrin Ress in a 65-55 victory over Greece.
Russia led by 17 points in their game but Les Bleues fought back and twice cut the deficit to just one.
After France closed the gap to 58-57 with 3:15 left, Oxana Rakhmatulina hit a three-pointer to steady the Russian nerves.
Russia clinched first place in the group with the victory.
In Group B, Germany twice closed the gap to just four points late against Belgium but got no closer.
Ann Wauters had 16 points and Kathy Wambe 15 for the Belgians in their eight-point victory.
Also in Group B, Lithuania thrashed Romania 67-50.
Israel bounced back from their mauling by the Czech Republic to make a game of it against Latvia but lost 77-73.
Israel led by six points in the fourth quarter but Anete Jekabsone-Zogota, who had a game-high 28 points, buried a three-pointer to put the Latvians in front for good.
The Czech Republic prevailed 86-62 over Turkey and will now take on Latvia in a battle for first place in Group A.
The winner of Turkey’s game against Israel will also advance to the next stage of the competition.
photo Getty Images
photo Getty Images