In a large skillet over medium-low heat, melt 3 tablespoons butter. Add garlic and distribute evenly, then add brioche and coat on both sides with garlic butter. Toast over low heat so garlic doesn't burn until slightly brown and crisp. Remove to a plate. Wipe the pan with a paper towel, melt 1 tablespoon butter and add the ham. Cook the ham over medium heat to brown slightly on both sides and to heat through. Remove to a plate.
In a medium bowl, whisk together eggs, cream, and shallot. In a nonstick skillet over low heat, melt remaining butter. Cook egg mixture over low heat, whisking the entire time so the eggs form little loose curds. Serve eggs over brioche and dollop top with Spinach Pesto.
In a food processor, pulse to blend, spinach, walnuts, garlic and cheese. Scrape down the sides of the bowl. While machine is running, drizzle in oil until the mixture forms a loose paste. Season, to taste, with pepper.