Type application refers to the process of applying a type to a polymorphic function or expression in a type system, particularly in polymorphic lambda calculus. It enables a function defined with a type variable to be specialized with a concrete type, facilitating code reusability and type safety. This concept is central to understanding how polymorphism works in programming languages that support generics or higher-order functions.