One possible (unlikely) way: A pool was mining an empty block in the short time it takes ebtween block N being found and block N+1 template being broadcast from the pool to miners.
Using Stratum, mining pools have to create block templates for miners to work. When block # N gets mined, it takes a fraction of a second to create a template for block N+1. To keep their miners hashing while working on the new template, a pool can prep and broadcast an empty block to mine in the meantime. If that empty block is found, bam!
But, I doubt that’s the usual case; it would require very quick discovery of two blocks in a row. The difficulty adjustment makes that unlikely.
