You need some 14,000 miles to reach the 25K level. The Starwood Amex or the Diners Club cards could do the trick.
I prefer the latter (because I like to top off all my in-laws' NW and DL accounts to keep them active every three years), $95 annual fee notwithstanding.
If you sign up for Diners Club, you get 12,000 bonus miles the first year for joining:
http://www.citibank.com/dinersus/mgm
And if you use my sponsor code, SSZG2183 , I get 3,000 miles, too.

The sponsor code is in my profile, if you forget this thread.