Proof of Stake uses fundamentally the same process as Proof of Work, but with a few key differences.
In Proof of Work miners are searching for a hash of the transactions in mempool + data from the last blockheader, and that hash must be below a certain target value to be accepted by the network. The target is the inverse of difficulty, essentially the new hash must have a number of leading zeros, the more leading zeros, the less likely it is to find a hash by chance. PoW uses the nonce (number once) and the mempool transactions and previous blockheader data, and iterates over as many random nonces as it can per second to output hashes hoping to find a hash with an amount of leading zeros that will be accepted by the network. So in PoW the more nonces and hashes per second you can create, the better chance you have of finding a hash that meets the target.
Proof of Stake varies in that there is no nonce that can be iterated over, rather the unspent transaction outputs (UTXO) in the nodes local wallet are iterated over. The main variable then becomes time, the time of each hash attempt is part of the hashing, and thus allows 1 hash, per UTXO, per second. So a wallet with 100 UTXOs can only create 100 unique hashes per second (the node could create more hashes but that would be pointless as they would just repeat). Some coins mask the bottom bits of the epoch time, to limit the amount of hashing further, often to hashes every 8 or 16 seconds.
To prevent users creating many tiny UTXOs there is a lower limit of coins that are viable for staking in a UTXO (often around 0.01 coins) and the difficulty is modified by the number of coins in a UTXO; a UTXO with 2 coins has a hash target that is twice as easy as a UTXO with 1 coin. In this way then we can see that every coin staking has a roughly equal chance of creating a block, and a user with a large number of coins will be likely to make more blocks and earn more transaction fees than a user with less coins.
There are variants of PoS, but they all basically work in this same way, and by doing so prevent the need for massive quantities of computing power to spew out zillions of nonces and hashes to secure a block-chain.