If you do not want to replace the card, and the fan is working you can simply try underclocking it. Unclocking it will make it generate less heat under load, and might start operating in normal parameters. This is also a way to test if it is actually a heat issue. You can also use programs like Speed Fan to see the temp of your GPU under load.

I had this exact issue on an older PC that had poor cooling inside. As a bandaid until I upgraded its cooling system I just underclocked the card by about 25% until it was stable and no longer crashed. Then returned it to normal once I upgraded the cooling.