Generally speaking, a food only has a single Beracha. This means that an item classified a single food will not usually require more than one Beracha, despite the components of the food entailing distinct Berachos when eaten separately.
Sometimes, it can be difficult to determine whether a dish is a single food or a mixture of multiple foods. The Aruch HaShulchan gives a simple rule of thumb; if every spoonful contains multiple components, it is a single food. If often a single piece will fill the spoon by itself, then each ingredient requires its own Beracha. So for example, a coarse cholent eaten without bread would likely require distinct Berachos on the barley, potatoes and meat; while a more finely cut one might not. This rule is not universally accepted, but is a good starting point for our discussion.
Assuming a compound food is classified as a single item requiring only one Beracha, which one is the correct one to make? The basic factor is that the primary and dominant component is the one that determines the Beracha. Of course, this only begets the next question, how do we decide which ingredient is dominant?
One of the numerous rules is that the 5 species of grain are usually assumed to be of primary importance. Unless the flour is merely a binding agent, as in some recipes for gefilte fish, it is assumed to be the main dietary staple and the primary component. However, the question arises when the grain ingredient is clearly enhancing the flavor of the food and not just binding, but is equally clearly of secondary importance in most people’s minds. A classic example of this would be breaded schnitzel. While the letter of the law would seem to indicate that Mezonos would be the correct Beracha, as it contains bread crumbs that are not merely a binding agent, and it is a single food; however, the common custom and the majority of the Poskim contradict this.
The clearest explanation for this accepted Halacha would seem to be that following the 5 grains is neither an iron-clad rule nor an absolute Halacha; it was merely intended as a general indicator for the primacy of grains. Since grain is the staple of most diets, when in doubt we assume it is primary in this mixture. The exception for a binding agent is a proof that when its primacy is contradicted by facts, we disregard this rule. Similarly, with schnitzel, since the chicken is clearly the main component of the dish, we will ascribe to the breading a supporting role. Hence, the accepted Beracha is correctly Shahakol.