Bonaventura opened the scoring with a cracking strike in the opening minutes and sealed the win midway through the second half with another fine effort.
Siena remain in the final relegation spot, five points adrift of safety.
Sunday's game represented a very good opportunity for the hosts to close that gap against fellow strugglers Atalanta.
But they got off to the worst possible start when Bonaventura exchanged passes with Argentinian forward German Denis before firing into the top corner from the edge of the box in the third minute.
To their credit, it was all Siena for the rest of the half and Innocent Emeghara nearly levelled proceedings but his close-range shot was blocked on the line by Cristian Raimondi before the visitors cleared the danger.
Nerazzurri goalkeeper Andrea Consigli saved well from Alessandro Rosina's effort from distance, while Brazilian centre-back Felipe was guilty of missing the target from close range.
Siena's poor finishing nearly came back to haunt them as Denis' effort on the edge of the box cannoned off the crossbar just after the interval.
The former Napoli and Udinese striker was guilty of more poor finishing when he headed wide of the post, with Siena goalkeeper Gianluca Pegolo well beaten.
Team-mate Bonaventura showed him how it is done with a classy curling finish in the 67th minute following a quick counter-attack involving Marko Livaja and Raimondi.
That seemed to take the wind out of Siena's sails and although Rosina went close late on with a long-range strike, they ultimately drew a blank.