Cook the penne according to package instructions, but leave it a little bit al dente, as it will soak up some of the sauce.
In a large skillet heat the olive oil. Add chopped onion and garlic to skillet and cook for about 2 minutes until onion is translucent and soft. Add the diced tomatoes, including the juice. Stir and cook for about 3 minutes. Add spinach and stir, let cook until spinach wilts. Add yogurt and almond milk and stir. Add Parmesan cheese and basil.
Add the pasta to the skillet and toss well. Simmer in the sauce for 3-4 minutes. Season with salt and pepper to taste.
Garnish with fresh basil and parmesan cheese before serving.