You will need
Heat a large heavy-based pan with a lid.
Add the bacon and cook over a medium heat for 8-10 minutes until it releases some of its fat and becomes crispy and golden. Remove from the pan with a slotted spoon and set aside on kitchen paper, leaving the fat behind.
Drain the artichokes and add them to the pan with the bacon fat, stirring to coat.
Add the onion, potato, garlic, celery, half the butter and the thyme then stir to continue until the butter has melted.
Cover and cook for 10 minutes, shaking the pan occasionally until the potatoes have started to soften but not colour.
Pour stock into the pan, bring to the boil, then reduce to a simmer and cook for another 10 minutes or so until all the vegetables have softened and are completely tender.
Leave to cool a little and then blend with a hand-held mixer or in a food processor or liquidiser until smooth. If you would like a squeaky smooth soup, then pass through a fine sieve and return the soup to the pan.
Add the cream or milk to the pan with the remaining butter, the nutmeg and spinach and re-heat gently until the spinach has wilted, stirring.
Season to taste and ladle into warmed soup bowls. Scatter the reserved crispy bacon on top and serve at once.