Read again? Yes
Sam Spade never had it like this! We join Harry Dresden as he finishes a case, rescuing a litter of Temple Dog puppies from a troop of evil monkey demons that fling flaming poo bombs. He hands off the box-o-pups to a thankful monk...only to realize that one of the pups has adopted him.
His next case pops up quickly: he's hired to protect a film crew after a pair of unlikely deaths take two of the executive producer's staff.
It takes him a little longer to realize that the producer makes porn movies.
Meanwhile, Mavra the Black-Court vampire has brought a scourge of her minions to get Dresden. For once, Harry decides that he's just going to find them and wipe them all out.
His cop sidekick Murphy jumps at the chance to join the fight, since it'll get her away from the big Murphy family reunion (and questions of why she's not settling down and getting married).
Dresden hires Kincaid, a bodyguard/assassin/mercenary type to help. Kincaid agrees, but warns Harry that he has to pay in full and on time (whether he's got the money or not) or his ticket will get punched.
As usual, great pacing, humor, some bad puns, some emotional moments, and more growth for Dresden and Murphy as people. Watch for that pup and Thomas the White-Court Vampire in future books.