Preheat oven to 350°F. Dice onion and mince garlic.
Heat 2 tablespoons olive oil in an ovenproof pan over medium heat; add onion, garlic, and 1/2 tablespoon butter. Cook 5-6 minutes or until onion is translucent, then season with salt.
Stir rice into the skillet and cook for 1-2 minutes more. Add 2 cups of broth and bring to a simmer. Remove from heat, cover with foil, and bake for 30 minutes or until the liquid has absorbed.
Meanwhile, chop mushrooms, cut asparagus into 1/2 inch pieces, and mince parsley; set aside.
In a separate skillet, heat remaining oil over medium-high heat. Add mushrooms, asparagus, and spinach to the skillet and cook 3-4 minutes until veggies soften and spinach wilts.
Add remaining broth, milk, remaining butter, and parsley to the skillet and bring to a simmer. Stir in rice mixture, return to a simmer and cook until liquid has mostly absorbed and rice is tender.
Serve paella with fresh pineapple on the side.