Cut-off the very top of the tomatoes and scoop out the flesh and seeds, being careful not to pierce the skin. Sprinkle salt and pepper in the cavity and drizzle a little bit of olive oil. Reserve.
In a heavy skillet set over medium heat, cook the bacon until nice and crispy. Remove to a plate lined with paper towel to absorb excess fat. Drain fat in a separate bowl, keeping about a tablespoon in the pan.
Add the spinach to the pan, sprinkle with salt and pepper and cook until wilted, about 30 seconds.
In a small mixing bowl, add the avocado, salt, pepper, garlic powder and paprika and mash with a fork or potato masher until smooth and creamy.
Add the hard boiled eggs and mix them in with the avocado mixture, using your fork or masher, until well incorporated. Stir in the bacon, but keep a few pieces to garnish your stuffed tomatoes.
Distribute the spinach between the 3 tomatoes and pack lightly.
Fill the rest of the cavity with the avocado egg mixture.
Garnish with the asparagus tips and the remaining bacon bits.