This is hands-down the best grammar I've found for the Italian language, and is better than nearly all the other grammars I've used for other languages. Geared mostly for intermediate and advanced learners (although beginners can profit from it as well), the book provides great explanations of the subtleties and intricacies of the language.
By way of illustration, say a sentence in the novel you're reading has an obvious reference to the past, but you're not quite sure what shading of it the author's trying to communicate. This book tells you that "allora," "a quell'epocha," and "a quel tempo" refer to the distant past, "in quei giorni" refers to the distant past in relation to a particular event, "negli ultimi giorni (or tempi)" refer to the recent past, and "nei giorni scorsi" to the very recent past.
The book is full of examples like this that allow you to understand the nuances you might come across, in addition to more basic grammar. If you only buy one Italian grammar, get this one!