The above posters offer good advice...fly in several days early and enjoy London. Use the extra days to overcome jetlag so you can fully enjoy your cruise. There's way too much risk of delays, flight cancellations, etc by flying in the day of.
LHR is a lot closer to Greenwich than LGW, but if you fly into LHR you have to travel through downtown London traffic to get to Greenwich. It could work out to be the same, time wise.
FWIW, we took the tube from LHR to a major station near our hotel, then a taxi from the tube station to our hotel. We took a private car (Blacklane) to the ship from our hotel. Worked well.
There is an Uber boat that leaves from downtown London to Greenwich. We took that as well but for sightseeing purposes.