We have just (I mean in the past week) finished a massive remodeling project on our whole house. The last phase was the kitchen and we were faced with your exact problem. Without going thru all of our failures, the only way to do the job properly is: 1. Strip all of the existing paint off of the existing wood. We found that "BIZ" stripper worked best (trust me, we tried lots of them). You will find this process very labor instensive, messy and rather expensive. But, this is the most important step in your refinishing project. (In our house we have over 50 lineal ft of cabinet, both top and bottom, over 35 cabinet doors and over 35 cabinet drawers). 2. Once the cabinets have been stripped to bare wood, more than likely, the stripper wiil have also removed the putty that was used to fill in the nail holes and staple holes. You will need to refill those holes. 3. Once the hose have been refillled, you now need to sand all the surfaces with 300 grit sandpaper. Reason: the moisture in the stripper causes the grain to raise and you will need to sand the filled nail and staple holes flush. 4. Prime all the surfaces now. We swear by "KILZ" primer. Even though it is more expensive, we suggest oil based primer as opposed to water based primer. Remember, when painting (or priming), pour a small portion of the paint into an empty bucket (or large butter dish or sour cream dish....) and paint from that container. Keep the primer/paint can sealed at all times. Replenish into your paint container as needed. 5. Finally, you are ready to paint the cabinets. Again, we have better results with oil based paints as opposed to water based paints. Also, the high gloss looks we feel looks better than the semi-gloss look. We found, especially using white, that semi-gloss white always looks "dirty".
Whether 1 coat of paint will suffice or 2 is entirely up to you.