Segwit replaces the 1Mb block size limit with a 4000 weighted unit limit. Each normal byte in each transaction receives a weight of 4 except in a Segwit transaction the witness data only receives a weight of 1. This is what results in larger blocks. Segwit transactions are not actually smaller it is just that they have less weight and therefore have lower fees.
https://en.bitcoin.it/wiki/Block_weight