This proof uses the Pigeon Hole Principle. Also we assume k>=2.
Let's say our graph has n points a1, a2,...,an. Choose any point, WLOG say we choose a1. For simplicity call it b(1). Now a1 has k neighbors, so choose any one call it b2. Go from b1 to b2.
b1---b2
Now randomly choose a neighbor of b2 and call it b3. Go from b2 to b3.
b1---b2---b3
Note that we can continue this process till b(k+1).
b1---b2---b3.......---b(k+1)
Reason: This follows from Pigeon Hole Principle, Say we have reached up to b(i) for now where i<=k.
b1---b2---....---b(i)
Then before b(i), {b1,b2.....b(i-1)} we have i-1 terms that's <= k-1. We know that b(i) has k neighbors, therefore there exists a vertex (from PHP) that does not belong to our path and is a neighbor of b(i), so include it in the path as b(i+1). Therefore we can always have the above path.
Till now we have:
b1---b2.....---b(k+1)
Now, there are few cases:
(1) If b(k+1) is a neighbor of a1 then we can simply complete the cycle, it will have length k+1 and we are done.
(2) Else if a1 isn't a neighbor of b(k+1). Consider the set {b2,b3.....,b(k)} this has k-1 elements, and b(k+1) has k neighbors therefore by PHP, there exists an element not in this set and is a neighbor of b(k+1), call it b(k+2) and include it in our path.
b1---b2---.....b(k+1)---b(k+2)
Now if b(k+2) is a neighbor of b1 or b2, complete the cycle, we will have cycle of length k+2 or k+1 and we will be done.
The set {b3,.....,b(k+1)} has k-1 elements, so if b1 and b2 are not neighbors of b(k+2) then again by PHP we can find a neighbor of its that is not in {b1,....,b(k+1)}
call it b(k+3) and include it in our path.
Continue this test..
However this possibility of finding neighbor has to end sometime since we only have finitely many vertices. So there exists an i>=1 so that:
b(k+i) has a neighbor in {b1,b2,.....,b(i)}, if not then we can always find a neighbor of b(k+i) and go on..
Since {b(i+1),b(i+2).....b(k+i-1} has k-1 vertices, so if none of b1,b2,....,b(i) are neighbors of b(k+i) by PHP we can find a new vertex that's a neighbor of b(k+i).
So it's clear that process must terminate.
Therefor after finding such an i, complete the cycle by choosing suitable vertex from {b1,b2,...,b(i)} say it is j<=i. We get the cycle:
b(j)---b(j+1)---.......---b(k+i)---b(j)
Clearly it has length >= k+1 as j<=i. We are done.