Ignoring invalid input features with Intersection tool in QGIS?
Go to Settings > Options > Processing and under General change to Ignore features with invalid geometries.
Alternatively, it's also worth checking the answer by A.Oikonomidis as well as other tools available in the processing toolbox to fix invalid geometries in the original dataset.
I had the same problem and tried to solve it by using Geometry Checker plugin. However it takes a lot of time, so if you want a quick solution then you could ignore invalid geometries. For me though, ignoring invalid geometries led to not getting all results so I had to use the "Do not filter(better performance)" choice to get it working.