You will need medium grade sand paper, a product called Kilz (found in paint department), latex paint (your color choice), non-yellowing polyurethane, paint brush, roller, and tray.
This is a weekend project, so make sure arrangements have been made for alternate bathroom or kitchen use!
1. Clean the floor well.
2. Lightly sand with sandpaper.
3. Sweep and wipe down with a damp rag, removing all of the dust. Let dry.
4. Use a paint brush to go around floor edges with kilz as if you were painting a wall. Fill in with roller. Allow to dry well and do a second coat. (I speed drying time with a fan). Allow second coat to dry well.
5. As if painting a wall again, use brush for edges and roller for filling in, paint the floor with latex paint. Do as many coats as need to get the look you desire allowing drying time in between. Usually 2 coats. Allow to dry well.
6. Now apply polyurethane as you did the paint. Allow this to dry extremely well (mine was 8 hours). Lightly sand. Wipe away dust with damp rag and let dry. Repeat step 6. Read individual instructions on the can for proper amount of coats and continue repeating step 6. Mine was 3 coats and has held up wonderfully. DO NOT sand after last coat. Allow to dry at least 24 hours.