A new block will be created in approximately 10 minutes, but I saw on blockchain.info that these two blocks were found only two minutes apart!
How come that the time between the first two listed blocks is just two minutes?
There are a few things to know about the frequency of blocks:
Every hash has the same chance of finding a block. So, times between blocks are randomly distributed.
The difficulty (i.e. the expected number of hashes required to find the next block) is only adjusted every 2016 blocks. With ten minutes between blocks that would be every 14 days. However, since a lot of hashing power is being added to the network every day, the hashing power quickly starts to exceed the difficulty that it was estimated to accomodate, and the average time between blocks starts to get lower until the difficulty is adjusted again. So right now, we are probably closer to a block every 7 minutes in average than every 10 minutes.
10 minutes is the average time between blocks that the network tries to attain (by adjusting the target/difficulty). It is not a fixed thing.
Due to the way mining works, there is a great deal of random variation in the time between blocks. A block may be found seconds after the last one or hours may go by between blocks.