the gradient is a vector whose dot product with a given direction vector gives the rate of change of the function in that direction. hence it dots to zero along a direction where the function is constant, and hence the gradient is perpendicular to the level curves (for a function defined on the plane) of the function. It seems obvious that the direction in which the function increases fastest is perpendicular to the level curve through a given point. just imagine you are walking along a level path cut into the side of a hill, wouldn't the slope of the hill be greatest in a direction perpendicular to the path?