Preheat oven to 180 C / 350 F. Line a 2 litre bread pan with baking paper. Set aside.
Melt butter in a skillet and sauté onion until softened (a few minutes). Add paprika and sauté a further minute.
Mix beef, breadcrumbs, garlic, tomato purée, herbs, egg and onion mixture together in a large bowl using your hands to combine thoroughly. Season well with salt and pepper.
Wash and chop the spinach, removing any tough stalks. Cook in a dry pan until wilted. Drain excess liquid if required.
Lay out a sheet of greaseproof paper on your work surface.
Press meat out into a rectangle the length of you bread pan and 1/2 inch thick.
Sprinkle with a layer of chopped cooked spinach and then with a layer of torn mozzarella cheese.
Using the greaseproof paper to help. start rolling along the short side of the rectangle. Press into shape as you roll.
Close both ends of the meatloaf by firmly pressing the edges together.
Place the meatloaf in the bread pan and cover tightly with tin foil so that no moisture can escape.
Place tin in a large casserole pan filled with 1 inch of water.
Bake for 90 minutes. Remove the foil and broil for a few minutes under a high heat if you want to crisp up the top.
Serve with creamed potatoes and extra veg. Leftovers (if there are any!) freeze very well.