I've got an iPhone 5s with Camera + app. Even though it's aperture is fixed 2.2 I'm unable to take nice sharp portraits ( subject sharp and background blurred). I think this is due to the small sensor (?). I wonder what would be the best option available to take photos like below? I don't mind to use an extra accessory.
The way that sensor size, lens focal length and DoF works, there's no physical way you're going to be able to blur the background in this kind of effect with a smartphone. The sensor is so small that the lens's focal length is tiny, and that guarantees a very deep depth of field. Using an add-on lens (which is all you can really do with an iPhone) is going to have a negligible effect.
The only way you're going to achieve something like this is with post-processing. You're going to have to look for an app like Big Lens that can mask off the subject and add background blur with a gradient to simulate thin DoF, or maybe use a tilt-shift effect like SynthCam's.