Error message

  • Deprecated function: Return type of Aws\HandlerList::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 32 of /var/www/html/vendor/aws/aws-sdk-php/src/HandlerList.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Api\AbstractModel::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Api/AbstractModel.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of & Aws\Endpoint\Partition::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Return type of Aws\Endpoint\Partition::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 13 of /var/www/html/vendor/aws/aws-sdk-php/src/Endpoint/Partition.php).
  • Deprecated function: Aws\Credentials\Credentials implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in include() (line 8 of /var/www/html/vendor/aws/aws-sdk-php/src/Credentials/Credentials.php).
  • Deprecated function: Return type of Aws\Command::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of & Aws\Command::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Command::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 7 of /var/www/html/vendor/aws/aws-sdk-php/src/Command.php).
  • Deprecated function: Return type of Aws\Result::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of & Aws\Result::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Deprecated function: Return type of Aws\Result::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include() (line 9 of /var/www/html/vendor/aws/aws-sdk-php/src/Result.php).
  • Warning: Undefined array key "nid" in views_handler_field_term_node_tid->pre_render() (line 98 of /var/www/html/docroot/sites/all/modules/views/modules/taxonomy/views_handler_field_term_node_tid.inc).
  • Warning: Undefined array key "nid" in views_handler_field_term_node_tid->pre_render() (line 98 of /var/www/html/docroot/sites/all/modules/views/modules/taxonomy/views_handler_field_term_node_tid.inc).
×

Photos

The 18 Scariest Football Pitches We've Ever Seen

Anyone who’s played soccer has dealt with a bad pitch at one time or another, be it from bad weather or negligent grounds keeping. It’s expected at the youth level, but it can be shocking at the professional level as well — which is why we’ve compiled this list of the worst football pitches of all time, the type of playing fields that terrify footballers. 

Shocking pitches of all types exist around the world, from swamp soccer to ski slopes. While soccer is fortunate to have avoided the colored pitches of some colleges in American football (namely Boise State’s Smurf turf), that hasn’t halted a long history of fields in worse shape (much worse shape in some instances) than your backyard. 

Here are the 18 worst football pitches we've ever seen, sure to haunt our nightmares.

Stamford Bridge, Chelsea (Circa 2003)
Worst Football Pitches, Stamford Bridge
@BallStreet | Twitter

Stamford Bridge

In 2003, the pitch at Stamford Bridge was shockingly bad, as seen here without a touch of green in sight. 

Bloomfield Road, Blackpool
Worst Football Pitches, Bloomfield Road
@BBCRNS | Twitter

Blackpool's Bloomfield Road

This pitch was once described as conveying “the impression that at some remote period of its history it had been a ploughed field.”

Aloha Stadium, USWNT
Worst Football Pitches, Aloha Stadium
@lauravecsey | Twitter

Aloha Stadium

The USWNT was slated to play a friendly at Aloha Stadium in Hawaii in 2015, but the women to understandably refuse to play on such a deplorable pitch. 

Keepmoat Stadium, Doncaster Rovers
Worst Football Pitches, Keepmoat Stadium
@tombiltcliffe | Twitter

Keepmoat Stadium

Aside from this curious hole on the pitch, the field often drew complaints for being bumpy and uneven.

Kazakhstani Waterpark
Worst Football Pitches, Kazakhstani Waterpark
Grayson Charlie | YouTube

Kazakhstani Waterpark

We’re not exactly sure where this match took place, but the infamous video of the referee forcing players to take a corner kick in a foot of water makes this one of the worst pitches of all time. 

Loftus Road, Queens Park Rangers
Worst Football Pitches, Loftus Road
@thecentretunnel | Twitter

Loftus Road

QPR allowed play on this muddy mess in 1957, but you'll see the London club again on this list. 

Stamford Bridge, Chelsea (Again)
Worst Football Pitches, Stamford Bridge
@retro_magazyn | Twitter

Stamford Bridge

Also in 1957 (must’ve been a wet winter) comes this miserable pitch, where Bolton probably regretted wearing white. 

Loftus Road, Queens Park Rangers (Again)
Worst Football Pitches, Loftus Road
@thecentretunnel | Twitter

Loftus Road

Perhaps due to prior awful pitches, QPR installed artificial turf in 1981 and it’s a small miracle they put up with the turf burns and high bounces until 1988. Here a Chelsea player wonders what kind of cleats to wear on it. 

Avanhard Stadium, FC Zorya
Worst Football Pitches, Avanhard Stadium
kop101101 | YouTube

Avanhard Stadium

In 2011, FC Zorya hosted Volyn and the results were nothing short of hilarious, with players slipping around like they were on ice. 

Avanhard Stadium, Pripyat
Worst Football Pitches, Chernobyl
@harrythefoot | Twitter

Chernobyl

Another stadium of the same name, also in Ukraine. This field was abandoned after the Chernobyl disaster. Obviously no one played on it in this condition, but this has to be one of the scariest football photos of all time. 

Frontier Field, Western New York Flash
Worst Football Pitches
@SoccerInFrench | Twitter

Frontier Field

With their home field booked by a ’90s throwback concert in 2016, the NWSL’s Flash hosted Seattle on a tiny pitch inside a baseball stadium, with dirt encroaching on the playing field. 

The Valley, Charlton Athletic
Worst Football Pitches
@footballmemorys | Twitter

The Valley

It’s a black and white photo, but you can just tell there’s no sign of green grass anywhere on that pitch.

Highbury Stadium, Arsenal
Worst Football Pitches, Highbury Stadium
@CasualMind_ | Twitter

Highbury

These days the Gunners have one of the best pitches in the world at Emirates Stadium, but in 1966 this was clearly not the case. No one was walking it in on this field. 

Shay Stadium, Halifax Town
Worst Football Pitches, Shay Stadium
@RobNewton15 | Twitter

Shay Stadium

This pitch presented an interesting look in 2015. But if the ball got stuck in the sand they would’ve had perfect lanes to run races instead.

Lokomotyv Stadium, FC Poltava
Worst Football Pitches, Lokomotyv Stadium
@FCShakhtar_eng | Twitter

Lokomotyv Stadium

Shakhtar Donetsk was scheduled to play second-division FC Poltava in a Ukrainian Cup match in 2017 but the match had to be rescheduled because of the state of the pitch. 

Downing Stadium, New York Cosmos
Worst Football Pitches, Downing Stadium
thecelebratedmisterk | YouTube

Downing Stadium, New York Cosmos

When Pele made his debut in the NASL with the Cosmos, the pitch at Downing Stadium on Randall’s Island had to be painted green to at least look like it had grass on it, and that's after they had to clear the field of debris like broken glass. 

Yankee Stadium, NYCFC
Worst Football Pitches, Yankee Stadium
@SkySports | Twitter

Yankee Stadium wasn't made for soccer.

Playing football at a baseball stadium is never ideal, as it’s been for NYCFC playing at Yankee Stadium, where players have been forced to deal with cramped confines and grass laid over infield dirt.

Turf, Anywhere
Worst Football Pitches, Turf
@SkySports | Twitter

Soccer should not be played on turf. Period.

Videos you might like