A 16-year-old boy has been charged with starting a "ferocious" fire that hit Sydney's west yesterday afternoon.

The fire spread to Llandilo and Londonderry. ( Twitter: @NSWRFS )

Several houses, two schools and a nursing home were evacuated when the fast-moving fire broke out in Cranebook just before 2:00pm on Friday.

One home was damaged while a car and shed were destroyed.

The blaze quickly spread to nearby suburbs and an emergency warning was issued for Llandilo and Londonderry near Penrith, but that was later downgraded to a Watch and Act alert.

It took hundreds of firefighters to contain the blaze.

The boy was arrested just after midnight at Penrith Railway Station. He was charged with intentionally cause fire and be reckless as to its spread.

A 21-year-old man and a 17-year-old boy were arrested late yesterday afternoon, but were released without charge after being questioned at Penrith Police Station.

A house was damaged on Vincents Rd, Cranebrook during the fire. ( ABC News: Lucy McNally )

NSW Rural Fire Service Deputy Commissioner Rob Rogers said anyone who sees people lighting fires or acting suspiciously should call triple-0 to report it.

"We have enough fires from accidents or negligence or even lightning without adding human cause to those fires, so it's very frustrating," he said.

Burnt out bushland on Vincents Rd, Cranebrook in western Sydney. ( ABC News: Lucy McNally )

"Firefighters ... need to put their lives at risk to protect other people on the basis of some idiot that decides to think it's a great idea to go out and light a fire."

Neighbour Nicole Uebergang said they often had small grass fires in the area, so she was surprised when she returned home to find out it was so serious.

"Luckily my husband got home just in time and our neighbours were hosing off our place … it was a bit scary especially when you think it's just a grass fire," she said.

"It was really lucky that there were neighbours at home because everybody along here was just helping each other out."