Bulgaria started the contest with the control as Stanislav Manolev went close for the hosts early on when he fired an effort just wide of the post.
Gianluigi Buffon had to be alert when Aleksandar Tonev drilled a shot at the experienced keeper from the edge of the box.
Italy took the lead with their first clear opportunity of the match as Gilardino did enough to lose his marker and head home Antonio Candreva's inviting cross to give the hosts a half-time advantage.
Bulgaria were once again on top early in the second period but they were frustrated by Buffon, who displayed impressive reactions to keep out Ivelin Popov's close range header.
Valentin Illiev had a great opportunity to level the scores but he was the next Bulgarian to be denied by a good Buffon save.
Bulgaria continued to pressure the hosts but an Italy side without a number of key players managed to secure the victory.