Preheat oven to 350 degrees F. Prepare macaroni according to package directions; drain and set aside.
In a large skillet cook onion and garlic in hot butter over medium heat until nearly tender. Stir in frankfurters and cook until lightly browned. Stir in spaghetti sauce, tomato, and mushrooms. Bring to boiling. Remove from heat. Stir in sour cream and half of the cheeses. Stir mixture into the drained pasta. Spoon into a 2-quart casserole.
Cover and bake about 30 minutes or until hot. Uncover and sprinkle with remaining cheeses. Bake, uncovered, 5 minutes more or until cheese melts. Makes 6 servings