HeartGold is one of my favorite Pokemon games of all-time, though I might have a slight bias towards that as I grew up a big Pokemon Gold fan. It made so many small improvements on the originals, which made the story feel brand new again, even if it was basically the same thing.
Pokemon Platinum was also an improvement over Pearl/Diamond, with the game running a lot smoother than those, while reintroducing great features like the Battle Frontier, and giving you cool places to explore like the Distortion World, which is still by far my favorite location in any of the Pokemon games to date. You also get the added functionality of the Poketch on the lower screen of the DS, while HG/SS didn't use that opportunity to their advantage.
If you haven't played anything before Black and White, then my final suggestion would lean towards Platinum. I personally prefer HG, but you might get more out of it if you play a game like Fire Red or Leaf Green before moving on to HeartGold/SoulSilver, to kind of give you a better understanding of the Kanto region, and some of the characters that you come across during your journey.