lambda calculus – Computation equivalence of functional and procedural programming

I’m really interested in the idea of functional programming, it seems like a very modular way of doings things. I’ve seen some suggestion that functional programming is just as powerful as procedural programming (any problem you can solve with one can be solved with another).

I’m curious as to how this conclusion was originally derived, and whether there is a conclusive proof as to this (preferably one that a bit of a newb to lambda calculus like me can understand)

Related:
Why are functional languages Turing complete