It looks like you are using triangles, maybe? Which are perfectly fine if you are going low poly, but if they are stretched out they tend mess up the smoothness of your mesh. Even triangle-like quads or streched/distorted quads will do this. In general, you want to keep your quads/tris square-ish. Maybe another way to say it is the angles at the vertices should closer to 90 degrees than not (or 45 for tris, I guess). Does that make sense? It's not a hard rule or anything, but I think it helps.
Other than that, the standard thing to do is a subdivision surface modifier with all of your mesh set to smooth shading. Once you do that, you'll need to mark the sharper edges with Edge Crease (Shift-E) or by making Loop Cuts (Ctrl-R). However, loop cuts won't work well, if at all, if you have triangles.