Chances were few and far between but Sebastian Giovinco's goal was worth waiting for as he thumped in an unstoppable shot in the 67th minute.
Sergio Floccari added a second in stoppage time following a mistake from Siena defender Matteo Contini.
Following an impressive run of six straight wins, Parma is now just two points off a Europa League place but has only one game left to play, while the sides above it have two.
Siena remains in the bottom half of the table, but its current points tally of 44 is the club's highest in Serie A.
Parma had an early chance in the ninth minute when Giovinco crossed to Floccari but the on-loan Lazio striker headed just wide of the left hand post.
The only other real chance of a poor first half came in stoppage time when Giovinco won a free kick in a dangerous position after being fouled by Claudio Terzi.
The Italy striker whipped in a powerful shot from just outside the area which went narrowly over the crossbar.
Siena had a rare chance four minutes after the break when Alessio Sestu picked out Mattia Destro, completely unmarked in the center of the area, but the on-loan Genoa striker failed to control the ball on his chest.
Shortly after the hour mark, Giovinco stole the ball off the Siena defense and took one touch before lashing a screaming 30-yard (-meter) effort straight into the top right corner, giving Siena goalkeeper Gianluca Pegolo no chance.
It was Giovinco's 15th goal in Serie A this season.
Floccari sealed the result in stoppage time when he nipped in to snatch the ball after a dreadful header back to his goalkeeper by Contini.
Floccari controlled well, nudged the ball to Pegolo's left and ran around the other side of the Siena goalkeeper before prodding it home.
Juventus leads AC Milan by 1 point at the top of the Serie A. Milan faces Inter in a derby later Sunday, while Juventus visits lowly Cagliari.
In other matches, it's: Atalanta vs. Lazio; Bologna vs. Napoli; Novara vs. Cesena; Palermo vs. Chievo Verona; and Udinese vs. Genoa.