Justin Bieber made a fan's dream come true when he gave them free tickets to his concert in Iowa.

The 'Boyfriend' singer surprised the lucky fan with the tickets and other goodies after she waited several hours by his tour bus outside the Wells Fargo Arena in Des Moines, Iowa, to get a glimpse of her idol before his concert on Sunday (07.07.13).

The fan, who goes by the name @AhoyBieber on Twitter, revealed her incredible encounter with Justin to all her followers on the social networking site.

She wrote: ''Because I wanted to see Justin that badly. I waited out all day and I was about ready to go back to my hotel when Justin came outside. He talked to us, gave us his food and got us tickets! if you are determined and never give up, anything can happen! (sic)''

Her luck did not stop there as Justin also tweeted his devoted fan.

He replied: ''hey @AhoyBieber, @heartbreakniall and @ashtonourry ...thanks for saying hi. hope u enjoyed the show (sic)''

In more tweets about her encounter, @AhoyBieber wrote: ''I just want to say, this morning I had no tickets for the show and no way to get to the arena to see Justin. I walked almost 5miles ... Because I wanted to see Justin that badly. I waited out all day and I was about ready to go back to my hotel when Justin came outside He talked to us, gave us his food and got us tickets! if you are determined and never give up, anything can happen! (sic)''

The fan also revealed the 19-year-old pop superstar mimicked her British accent when he spoke to her.

However, Justin didn't make all of his fans in Iowa so happy, as he was reportedly three hours late on stage at the arena.

The singer - who was two hours late for a concert at The O2 arena in London in March - thought the 7pm concert start time was optional, according to Perez Hilton.com, and eventually made his way out at 10:00 pm.

However, officials at the venue insist the show was meant to officially start at 9:30 pm - making him only 30 minutes late.