1. Sand it.
There are lots of tutorials out there that claim you don't need to sand. There are also lots of primers and paints promising no sanding necessary. From what I have learned, sanding is a must. Sand all surfaces with 150-grit sandpaper. Be careful not to gouge the surface. You're just looking to rough it up a little so the primer has something to adhere to; you're not trying to strip the surface. Use 80-grit if you are sanding a furnishing with an existing varnish.
2. Remove residue.
Wipe down the surface with a tack cloth to remove any residue. Do not use a paper towel. Don't speculate on whether something is a lint-free cloth. Just use the tack cloth.
3. Prime it.
If you're priming laminate furniture, use Zinsser B-I-N Shellac-based primer. Otherwise, use Zinsser Bulls-Eye 1-2-3 primer. Prime using a mini foam roller. Use a foam brush to get into any hard-to-reach areas. Let dry according to can instructions. Once your primer is fully dry, sand away any drips with a 220-grit sanding block, and wipe your piece down with a tack cloth.
4. Paint it.
Use a mini foam roller to apply three thin coats of semi-gloss latex paint. Allow six to eight hours in between coats. It is important that you sand in between coats if you have any drips or residue on the piece. Use the same sanding block and a NEW tack cloth. The new tack cloth is very important here. You need to remove every speck of lint and dust before applying the Polycrylic in the next step. It's clear so everything shows. I've blamed everything from the dog to the paint for the tiny pieces of fuzz I've found when applying the Polycrylic, but it's because I didn't remove everything with the tack cloth.
5. Protect it.
Finally, use a new foam roller to apply a thin coat of Polycrylic water-based protectant in gloss. You want to make sure you go over this coat very lightly with the foam roller to smooth any bubbles that can occur with the foam roller. Allow 72 hours for it to dry before using; otherwise, it can get sticky.