Begin by washing and slicing your sweet potato into small cubes.
Place a large shallow pan (skillet) on medium heat and drizzle in some olive oil. Add in your ground beef, break it apart, followed by your cubed sweet potatoes, garlic granules, salt, and pepper. Give it a mix and fry for 5 minutes.
Add in your tinned tomatoes plus an additional 400ml water (fill the tomato tin with water and swirl it around to get any leftover tomatoes) into the pan. Stir and then add on your lid and cook for 15 minutes. Make sure to stir occasionally to prevent the food catching.
For the cheese sauce, place a saucepan on medium heat and add in your butter. Once fully melted, add in the flour and stir with a whisk until combined and thickened. Gently pour in the milk and stir simultaneously with the whisk. You should get a nicely thick smooth milk sauce. Season with salt and pepper, then add in your cheeses and paprika. Give it a good mix and it should thicken up even more slightly. Add more milk if it's too thick. Give it a taste and season accordingly.
After your sweet potato and ground beef have been cooking for 15 minutes, remove the lid and let the water evaporate further. You should have a slightly saucy but not watery mixture. Pour over the cheese sauce to cover the sweet potato and ground beef.
Dollop teaspoons of nduja and fresh basil pesto over your dish and then swirl through with a skewer or knife. Top with pine nuts and enjoy!