Power up

Power Up is a game mechanic in Pokémon GO that allows Trainers to strengthen their Pokémon by increasing their CP level. It has no effect on the Individual Values.

Powering Up Pokémon consumes Stardust and Candy with amounts depending on their level. Each Power Up increases the level of a Pokémon by 0.5. Trainer can Power Up their Pokémon to their Trainer levels + 2, which implies that Trainers only need to be level 38 to max out a Pokémon.

How to Power Up
From the Pokémon menu, select a Pokémon you wish to Power Up. If you have the required Candy and Stardust, simply tap Power Up to increase your Pokémon's CP level. Your resources will be consumed and your Pokémon's CP level will increase.

Since version 0.173.0, Trainers are able to Power Up their Pokémon to the desired CP by using all the required Candies and Stardust at once.

Stardust
Stardust is obtained by catching Pokemon, hatching Eggs or feeding a Pokemon in a Gym. It can also be obtained from Research Tasks and Trainer Battle.

Candy
Candy is a Pokémon-family specific item used to evolve your evolution-capable Pokémon. Evolving a Pokémon results in an immediate CP boost. At least one piece of Pokémon specific candy is also required for a basic CP Power Up.

Costs
The cost increase as each Pokémon level increases. The Stardust required is a good way to determine the Pokémon level since this value is hidden.

Lucky Pokémon only require half of the Stardust cost to Power Up and Purified Pokémon take 10% less of both Stardust and Candy. The discounts can be stacked.