Alec Burleson hit a two-run blast, Andre Pallante pitched six solid innings, striking out six, and the St. Louis Cardinals edged the Pittsburgh Pirates 5-4.