There is no way to "fix" it, it's a fundamental limitation of how rendering with a pathtracer works. You get this with any pathtracing renderer.
The only way to "fix" it is to render more samples, render samples faster (get a better computer, get more computers) or to switch to GPU rendering (assuming you have a worthy GPU.)
There are a lot of techniques you can apply to reduce the noise. You can enable multiple importance sampling for lights, you can use light portals, you can clamp values. You can also re-render a certain region of the image that is too noisy for your tastes (shift-B I think?)
Another technique I use is to render at 4x or 8x the desired resolution, then load the image up in an image editor, run a high-quality denoise filter, then downscale 4x to the desired resolution using a high-quality scaling filter.
Combining these techniques tends to get you clean results with render times < 1 hour for practically any scene. OP obviously just rendered for five minutes or something.
You can also get rid of the noise by switching to a non-pathtracing renderer entirely. If you enjoy shitty 90s CG, that is.