Make the topping: Line a baking sheet with parchment paper. In a medium bowl, stir together the walnuts, pecans, flour, granulated and brown sugars, cinnamon, and salt. Stir in the butter. The topping should form sandy clumps. Sprinkle the topping onto the baking sheet to break it up into smaller clumps. Refrigerate.
Preheat the oven to 350 F. Use butter to thoroughly grease the bottom and sides of a 9-inch round baking pan.
Make the cake batter: In the bowl of a stand mixer fitted with the whisk attachment, beat the butter and sugar together, on medium-high, scraping down the sides from time to time, for 8 minutes. Lower the speed and add the eggs, one by one, taking care that the first egg is thoroughly integrated before adding the second.
Sift together the flour, baking powder, and baking soda. In a separate bowl, whisk together the salt, sour cream, and yogurt until smooth. Turn the mixer on low and alternate adding some of the flour mixture with some of the sour cream mixture. When all has been mixed in, give the sides and the bottom of the bowl a good scrape and blend to make sure the batter is thoroughly combined. Transfer the batter to the greased baking pan and tap it lightly on the sides so it falls evenly in the pan and to remove any air bubbles. Liberally sprinkle the cake with all of the topping.
Bake the cake: Bake until a cake tester or small knife inserted in the center comes out clean, 55 to 60 minutes. Allow the cake to cool for at least 15 minutes before slicing and serving. Once cool, the cake will keep, covered, for up to 3 days.
Recipe courtesy of Alex Guranaschelli's cookbook: Old School Comfort Food: The Way I Learned to Cook