Веселин Топалов научился играть в шахматы в 8-летнем возрасте и быстро добился прогресса в игре. В 1989 году в Пуэрто-Рико он выиграл звание чемпиона мира среди юношей до 14 лет. В 1990 году в Сингапуре Топалов завоевал второе место на чемпионате мира среди юношей до 16 лет. В 1992 году Топалов стал гроссмейстером.
С середины 1990-х годов Топалов входит в группу сильнейших гроссмейстеров мира. Во время партии Топалов всегда заряжен на борьбу, его игра всегда бескомпромиссна, он не делает коротких ничьих, он всегда играет на победу, даже чёрными.
Веселин Топалов успешно играл на турнирах: Мадрид (1996) — 1—2 место, в Амстердам — 1—2 место, Лион — 1—2 место, Новгород — 1 место, Вена — 1—3 место, Дос-Эрманас — 1—3 место.
В 2002 году в Дортмунде болгарский гроссмейстер добился права играть в финальном матче претендентов. Победитель этого матча должен был играть с Владимиром Крамником за звание чемпиона мира по версии Профессиональной шахматной ассоциации). В финале Веселин Топалов проиграл Петеру Леко со счётом 1,5:2,5 (+1-2=1).
В 2005 году в Вейк-ан-Зее Топалов занял третье место, за Петером Леко и Вишванатаном Анандом, победив в турнире чёрными за 20 ходов Владимира Крамника.
В 2005 году в Линаресе, выиграв в последнем туре у Каспарова, занял второе место, набрав равное количество очков (8 из 12) с победителем турнира Гарри Каспаровым, уступив ему только по дополнительным показателям.
В мае 2005 года Топалов выиграл очень сильный турнир (XX категории) в Софии, с преимуществом в одно очко перед Анандом.
На 1 июля 2005 года Веселин Топалов имел второй, равный с Анандом, рейтинг ФИДЕ — 2788. Это высший рейтинг среди шахматистов Болгарии.
С 28 сентября по 16 октября 2005 года в аргентинском городе Сан-Луис проходил матч-турнир на звание чемпиона мира по шахматам ФИДЕ. Топалов набрал 10 очков из 14, занял первое место и стал чемпионом мира по шахматам. Однако возник скандал о том, что Топалов во время игры пользовался подсказками сильнейшей компьютерной программы Rybka. Позднее этот скандал угас.
В сентябре-октябре 2006 был проведён матч между чемпионом мира по версии ФИДЕ Веселином Топаловым и чемпионом мира по версии ПША Владимиром Крамником. Счет после 12 партий был равным, 6:6. В дополнительных, быстрых партиях победу со счётом 2?:1? одержал Крамник. После данного поражения наступил небольшой спад, но к концу 2008 года Веселин снова возглавил рейтинг ФИДЕ.
В феврале 2009 года он выиграл Претендентский матч по шахматам чемпионата мира 2009 у Гаты Камского и вновь получил право побороться за шахматную корону. Его матч с Анандом, состоявшийся с 21 апреля по 11 мая 2010 года на родине Топалова в Болгарии (г. София), закончился поражением Топалова 5.5-6.5. Решающей стала последняя 12-я партия матча, в которой при счете 5.5-5.5 Топалов, играя белыми, проиграл Ананду.