MacBook Pro suddenly started spinning fans at 100% while lid was closed for a couple of hours
The first thing I'd do is a NVRAM and SMC reset (in that order). Before following the steps below, ensure you have no external hardware connected and that you're using the built-in keyboard.

Reset the NVRAM

Reset the NVRAM on your MBP as follows:


Shut down your machine. Yes, a full shut down, not just logging out.
Press the power button and then press the commandoptionpr keys. You have to make sure you press these keys before the gray screen appears or it won’t work.
Hold those keys down until your MBP reboots again and you here the startup chime.
Let go of the keys and let your MBP reboot normally.


Note: When you log back in you may need to readjust some of your system preferences (e.g. speaker volume, screen resolution, startup disk selection, time zone information, etc).

Reset the SMC

There's a couple of ways you can reset the SMC on your MBP, however I prefer the following steps:


Shut down your MBP
Keep the power cable plugged in
Press at the same time shiftoptioncontrol (on the left side of the keyboard) and the power button
Let go
Turn your computer back on with the power button


After resetting both the NVRAM and SMC, use your computer to determine if the issues still persist. 

If you're still having problems, the it's time to test your hardware with Apple Diagnostics.

Run Apple Diagnostics

Follow the steps below to run Apple Diagnostics:


Fully shut down your Mac
Restart your Mac
Immediately press the D key and keep it down until you see the Diagnostics screen appear
Wait for Diagnostics to finish (this typically only takes a few minutes)
Once complete, one of two things will appear on the screen:


a No issues found message
a brief description of any errors found plus further instructions

If the diagnostics test does find errors, take a note of what they are


Note: If pressing and holding the D key at Step 3 doesn't work, start again at Step 1 and, at Step 3 press and hold both the OptionD keys instead. This will try and run diagnostics from the internet instead, so you will need to allow more time for it to complete. 

Regardless, take a note of what happens and let me know how you went.