"How to cook everything" by Mark Bittman was a book I found very useful. It has a whole bunch of recipes but it also does a great job of explaining the logic and overall structure behind each recipe. So you learn not just how to make a specific soup, but what the basic concepts behind making a soup are, as well as tons of alternatives for each recipe. It helped me quickly move from following recipes to being able to look at what I have in my kitchen and whip something up.