The Indian Grandmaster won by a point: 6.5 - 5.5 to retain the title he won in 2008.
Anand lost the first game unceremoniously against Topalov but drew level in the second in trademark manner.
The Indian won the fourth game to open up a one point lead before the Bulgarian beat him for a second time in the eighth game.
The remaining games ended in draws.
Anand held the FIDE World Chess Championship from 2000 to 2002, at a time when the world title was split.
The 40-year-old became the undisputed World champion in 2007 and defended his title against Russian Vladimir Kramnik in 2008, thereby becoming thee first player in chess history to have won the world title in three different formats: knockout, tournament, and match.
The Spain-based Indian had a fair share of excitement in the build-up to his title defence with the volcanic ash across Europe forcing him to undertake a 40 hour journey by road to get to Sofia.
Topalov, meanwhile, had won a play-off of challengers against Gata Kamsky in February last year to earn the right to challenge Anand.