Milan came into the game in rough shape. A 4-2 loss at Roma before Christmas, combined with the departure of Alexandre Pato and ongoing sale of Robinho left them light of attacking options.
Siena set their stall out to stifle the home side. On ten minutes, Pazzini stuck out a boot, but just missed connecting with Riccardo Montolivo's in swinging free kick.
Stephan El Shaarawy tried to inject some life into the game. The 20-year-old's mazy run into the box was stopped by a last-ditch tackle before he could poke the ball past Pegolo.
Halfway through the first half, El Shaarawy peeled off down the left hand side. His clever cross with the outside of his foot just evaded Pazzini's head by a whisker.
While Pazzini toiled as the target man, El Shaarawy thrived as the creative spark. The forward evaded the Tuscan defence once again ten minutes before half time, shooting just wide from the edge of the box.
Massimo Ambrosini tried a Zlatan Ibrahimovic-esque overhead kick, but ballooned over from inside the area.
At the other end, the home side continued to be wasteful. Boateng put in a couple of perfect crosses, but no-one could put the ball away. First, El Shaarawy headed wide, then Pazzini was inches away from sliding in at the near post.
The third time proved to be a charm for Boateng and Milan. On 67 minutes, Bojan nodded home an inch perfect cross at the near post and the relief could be felt all around the San Siro.
A frustrated Pazzini was cautioned after colliding with Pegolo, then arguing with Felipe. There was a bit of afters between the pair. Pazzini was booked and will miss Milan's next game.
Bojan almost scored a second, firing a 25 yard daisy cutter just wide of the post.
Milan were awarded a penalty when Felipe bundled Pazzini down after Bojan had played the forward in on goal. With ten minutes to play, Pazzini took the spot kick himself and blasted it into the roof of the net, sending Pegolo the wrong way.
Ambrosini fizzed a speculative long range effort wide, before substitute Paolucci ensured a nervy final few moments, heading Brazilian Angelo's cross in at the far post. Unfortunately for Siena, it was too little too late.
AC Milan: Abbiati; Abate, De Sciglio, Acerbi, Constant, (Antonini 63) Ambrosini, Nocerino; (Bojan 56) Boateng; Pazzini, El Shaarawy
Siena: Pegolo; Neto, Paci, Felipe, Angelo; Valiani, (Paolucci 80) D'Agostino, (Bolzoni 70) Vergassola, Angelo; Rosina; (Reginaldo 58) Bogdani
Goals: Bojan 67 (M) Pazzini pen 80 (M) Paolucci 87 (S)