Sebastian Leto came close to scoring for the visitors early on but fired an effort just wide of the post, before seeing a strike from the edge of the box head over the bar.
© Getty Images
On the stroke of half time Catania took the lead when Leto volleyed a stunning overhead kick from inside the box past the keeper.
After the break Gianluca Sansone was inches away from drawing his side level, but he drilled a shot just wide of the post.
Sampdoria equalised in the 61st minute through Stefano Okaka, who picked the ball up on the halfway line and drove past two Catania defenders before firing a strike into the roof of the net.
Within two minutes the hosts regained the lead, as Bergessio latched onto Pablo Barrientos's ball over the top, before placing an effort into the bottom corner.
Lucas Castro was close to scoring a third for his side, but saw his effort saved as Catania held on to win only their fifth league game of the season.