На самом деле вариантов масса. Но есть нюансы: какие браузеры должны поддерживаться? какие девайсы поддерживать? и какое именно центрирование по вертикали или по горизонтали (на картинке есть и то и другое)?
Если поддерживать только последние браузеры, то логично было бы воспользоваться методом, предложенным Филиппом - флексы. (если не хочется долго вникать, можно посмотреть здесь, как это дело работает -
santyagass.github.io/FlexWork/)