Paul Hart's side were on the back foot for much of the game as Barnsley looked to bounce back from their 6-1 thumping at leaders Newcastle last time out.
But the hosts could not find a way past an inspired Speroni and Palace held on to claim a share of the spoils.
Tykes boss Mark Robins made four changes to the side thrashed at St James's Park. David Preece replaced the suspended Luke Steele in goal, while there were recalls for Adam Hammill, Jon Macken and Daniel Bogdanovic.
Kieran Djilali and Neil Danns returned to the Palace line-up, with Johnny Ertl and Calvin Andrew dropping to the bench.
Hammill had the first opportunity of the match in the seventh minute but fired over from 25 yards.
Preece was then forced into action to keep out a header from Palace striker Alan Lee.
At the other end Bogdanovic broke clear but his shot was too close to Speroni, who gathered comfortably.
Hammill saw another shot fly wide, Bogdanovic tested Speroni for a second time and Hugo Colace was off target with an ambitious 25-yard volley as Barnsley enjoyed a useful spell of pressure.
However, the Tykes were unable to make the breakthrough and Palace eventually weathered the storm.
Paul Hart's men went close themselves in the 34th minute as Darren Ambrose dragged a left-footed shot narrowly wide from 12 yards.
The lively Bogdanovic had another chance three minutes later but was unable to trouble Speroni from 20 yards.
However, the Palace stopper did have to be alert to deny Filipe Teixeira as the half drew to a close.
Both sides made changes at the interval, with Barnsley bringing Luke Potter on for Carl Dickinson and Palace introducing Ertl in place of Nick Carle.
The hosts continued to look the most likely to open the scoring, with Teixeira and Bogdanovic bringing further saves from Speroni.
Lee responded for Palace with a left-footed volley into the arms of Preece.
But Barnsley were soon back on the attack with Macken firing straight at Speroni from the edge of the area.
Tykes centre-half Stephen Foster headed over from a Hammill corner and Teixeira saw yet another chance go begging as the game entered its final quarter.
Speroni then pulled off a stunning save to repel Ryan Shotton's header before reacting well again to deny Macken from the resulting corner.
Palace almost snatched an unlikely victory at the death as substitute Alassane N'Diaye headed straight at Preece from Danns' cross.