To give an exact answer to the question title one could write: Make a selection and fill it with a gradient. But seemingly you want overpaint too sharp borders to make them smooth; you search a way to use a gradient as an alternative to the blur tool.
Unfortunately gradient fills used as direct overpainting cannot be controlled enough to generate the smooth transitions you need. There are too many colors distributed in non-linear and non-radial order.
In your case gradients can be used in layer masks because the borders happen to be nearly straight and nearly circular, but the wanted color transitions are too complex to be gradients. I suggest you make a blurred copy of your image as a new top layer and insert a layer mask which leaves the blurred version visible only around the borders you want to make fuzzy. An example (sorry, not GIMP because I have not it currently installed in this machine I can access). This is my example:

The blurred top layer with layer mask disabled:

It has got 5px Gaussian blur.
The layer mask:

For convenience it's not made as a gradient fill, but as a painted black&white gradient. The mask was filled at first with black and a couple of white strokes were drawn with a 20 px wide soft brush. Painting into the layer mask can happen by having the actual image visible. See the details from GIMP documentation.