1. Albert Pujols
2. Miguel Cabrera
3. Carlos Beltran
4. Ryan Howard
5. Lance Berkman
6. Brandon Webb
7. Roy Oswalt
8. Brian McCann
9. Chase Utley
10. Chris Carpenter
Pujols quite simply had the best numbers of any player in the NL. He was third in average (to Freddy Sanhez and Cabrera), second in OBP (to Barry Bonds), first in slugging and first in OPS. On top of that, he's the best fielding first baseman in the league and a very good baserunner. To me, this is an easy choice.
Cabrera gets overlooked, but the dude hit .339/.430/.568 in a tough hitter's park. Incidentally, he has increased his average, OBP & SLG each year of his career, has missed just 10 games the past three years, and is still only 23. Superstar.
Beltran doesn't have the numbers that Howard has, but there are three important differences: 1) Beltran is a centerfielder; 2) Beltran is a very good fielder whereas Howard is terrible; and 3) Beltran is an excellent baserunner whereas Howard is not quite as bad as David Ortiz. You can fawn over Howard's home run total, but Beltran is the better all-around player.
There's a dropoff after those four. Berkman is the dominant slugger who slots in nicely in front of the pitchers.
Speaking of, there's not much difference between Webb, Oswalt and Carpenter. You can put the bottom half of my list in any order and it won't much matter.
Utley and McCann are another illustration of my preference for players at premium defensive positions. Utley hit .309/.379/.527 while playing a good second base. McCann actually just missed out on qualifying for the batting title by 10 PA, but he still hit .333/.388/.572. Even with all that missed time, he still knocked 34 doubles, 24 homers and 93 RBI. That's huge production from a catcher. Huge.