First thing I would do is look at the mix

Yes, I mean look at it, not listen. Just looking for stray peaks here, and it's faster than listening to the whole song

If they are there, and you did the mix, unless you really really want those peaks, go back to the mix and fix them.
That will require some listening . . .
After that, listen for EQ problems. If you can narrow them down to an instrument, or maybe two tracks conflicting, go back and fix those tracks.
OK, let's say the mix is now all groovy. Chances are your mix is already 1-3dB louder than it started, just from fixing peaks and EQ problems (I say this based on my experience with homebrew mixes, including my own). Yes, cutting EQ can make a mix louder! So be sure to still have some headroom, at all stages until the final limiting!
So, what does it really need in mastering? Like Glen said, corrective EQ. I nearly always do a low-cut at 20Hz, maybe a little higher if I can get away with it. Other corrective EQ as needed.
Next, do I want to add something with a compressor? A tube feel? A vintage feel? Do I want to dirty it up with a tape simulator (frequently for me, the answer is yes, but I need to join the Roland Space Echo 12-step program

). Or maybe you just want some colorless compression. OK then, do it!
Next, any EQ sweetening. If you want a high boost, this might be the place.
Finally, I always have a limiter on, because the limiter I use has really good metering. Do I always limit? Well, OK, yeah pretty much, but sometimes it's only to bring the mix up to 0dBFS (remember that headroom we left?) and truly level the peaks, not to squash them. 0.3dB of limiting is pretty gentle, and usually does the trick.
If you want to squash, go ahead now! But listen to how the mix changes as the peaks drop, and decide when you've had enough. Listen for pumping! Still not loud enough for you? Then go back to an earlier step and fix a track with stray peaks, or EQ problems . . .