Is there a way to make gradient shadows?
EDIT:

As L0Lock said, to smooth an object, you can simply click on Smooth Shading (in the Tools panel, on the right of your 3D View > Tools > Shading > Smooth) and enable the Auto Smooth option (Properties panel > Data > Normals > Auto Smooth and play with the Angle value).

My first answer was to use both Smooth Shading and Subdivision Surface. Why that? Because it won't only create a gradient shadow, it will also smooth your shape, which is generally what you want. In that case, no need for the Auto Smooth, but you will have to add some edge loops close to your angles to keep your angles sharp. That said you'll probably need to change your topology to make it work: