Step 1: Duplicate your layer
Duplicate your layer (Layer>Duplicate Layer) so you have a copied layer of the original you can apply a blur effect to.
Step 2: Gaussian Blur
Make sure the layer you've just created is selected then go to Filter>Blur>Gaussian Blur and enter a value of around 20-30 pixels. Hit OK and you'll see the layer is now diffused.
Step 3: Opacity
Reduce the opacity of the layer. We reduced ours to 62% but this isn't set in stone. Simply reduce the opacity until you have a soft focus effect you're happy with. The colours will look slightly washed out at this point but this is something we will be fixing later on in the tutorial.
Step 4: Layer Mask
We are going to create a Layer Mask which you can do by clicking the Layer Mask icon in the Layers Palette or by going to Layer>Layer Mask. Select the Paintbrush tool with black as the foreground colour. Now lower the brush opacity to around 10-20% and paint over your subject but don't go onto the background. The idea is to just bring a little detail back into the face so don't over brush your portrait.
Step 5: Curves and saturation
Make sure the background layer is selected and go to Image>Adjustments>Curves. Create an S-shape curve to enhance the contrast then go to Image>Adjustments>Hue/Saturation and increase the Saturation slightly. This will give your subject a warm glow but don't over do the saturation as they'll end up looking like they took a bath in fake tan.