The Argentine, 36, shot a seven-under-par 65 to finish 17 under and win his first European Tour title for 10 years.
Bland, 44, who shared the overnight lead with Spain's Sergio Garcia, carded a three-under 69 on Sunday to finish one shot adrift of Romero.
Masters champion Garcia and Belgium's Thomas Detry also finished on 16 under at the Golfclub Munchen Eichenried.
Romero's only other European Tour win was the Players Championship of Europe in 2007, the year he finished third at The Open.
Three strokes off the lead before the final round, he made seven birdies, including one at the 18th to win.
Four players were tied for the lead at one stage, but Detry was unable to match Romero on the final hole.
Bland, who has never won on the European Tour, carded five birdies but dropped a shot on the par-five sixth and another on the 17th.
He was playing in the final pairing of the day alongside Garcia, who was competing in Europe for the first time since he won the Masters in April.
Both needed to eagle the last hole to force a play-off, but Garcia narrowly failed to chip in with his third shot before Bland's 15-foot putt slid wide.
World number 837 Andres Romero won the BMW International as England's Richard Bland tied for second in Munich.