Food Truck Directory

Browse Southern Utah Food Trucks

Explore published truck listings across St. George and the surrounding area. Search by truck name, narrow by category, and open each profile for full public details.

Clear Filters

No published food trucks matched your current filters.

No trucks matched your filters

Try a different truck name, choose another category, or clear the filters to browse all published listings.

Browse All Published Trucks
[
    {
        "result": "log",
        "message": "Query ran: SELECT COUNT(DISTINCT t.id) AS total FROM trucks t INNER JOIN truck_live_sessions tls ON tls.truck_id = t.id WHERE t.publication_status = 'published' AND t.archived_at IS NULL AND t.ownership_status <> 'suspended' AND t.ownership_status <> 'archived' AND tls.status = 'active' AND tls.active_live_truck_id = t.id AND tls.starts_at <= NOW() AND tls.ended_at IS NULL AND (tls.expected_end_at IS NULL OR tls.expected_end_at > NOW()) AND (tls.expires_at IS NULL OR tls.expires_at > NOW()) AND tls.latitude BETWEEN -90 AND 90 AND tls.longitude BETWEEN -180 AND 180",
        "file": "/stgfoodtrucks/lib/traits/database.php",
        "line": "43"
    },
    {
        "result": "log",
        "message": "Query ran: SELECT id, name, slug, description FROM truck_categories WHERE slug = 'coffee-drinks' AND status = 'active' LIMIT 1",
        "file": "/stgfoodtrucks/lib/traits/database.php",
        "line": "43"
    },
    {
        "result": "log",
        "message": "Query ran: SELECT COUNT(DISTINCT t.id) AS total FROM trucks t WHERE t.publication_status = 'published' AND t.archived_at IS NULL AND t.ownership_status <> 'suspended' AND t.ownership_status <> 'archived' AND EXISTS ( SELECT 1 FROM truck_category_links tcl WHERE tcl.truck_id = t.id AND tcl.category_id = 5 )",
        "file": "/stgfoodtrucks/lib/traits/database.php",
        "line": "43"
    },
    {
        "result": "log",
        "message": "Query ran: SELECT DISTINCT t.id, t.name, t.slug, t.tagline, t.city, t.state, t.postal_code, t.phone, t.email, t.website_url, t.instagram_url, t.facebook_url, t.ownership_status, t.operational_status, t.is_featured, t.published_at, CASE WHEN tls.id IS NULL THEN 0 ELSE 1 END AS is_live_now, tls.id AS live_session_id, tls.location_label AS live_location_label, tls.expected_end_at AS live_expected_end_at, tls.last_location_update_at AS live_last_updated_at, NULL AS distance_miles FROM trucks t LEFT JOIN truck_live_sessions tls ON tls.truck_id = t.id AND tls.status = 'active' AND tls.active_live_truck_id = t.id AND tls.starts_at <= NOW() AND tls.ended_at IS NULL AND (tls.expected_end_at IS NULL OR tls.expected_end_at > NOW()) AND (tls.expires_at IS NULL OR tls.expires_at > NOW()) AND tls.latitude BETWEEN -90 AND 90 AND tls.longitude BETWEEN -180 AND 180 WHERE t.publication_status = 'published' AND t.archived_at IS NULL AND t.ownership_status <> 'suspended' AND t.ownership_status <> 'archived' AND EXISTS ( SELECT 1 FROM truck_category_links tcl WHERE tcl.truck_id = t.id AND tcl.category_id = 5 ) ORDER BY CASE WHEN tls.id IS NULL THEN 1 ELSE 0 END ASC, t.is_featured DESC, t.published_at DESC, t.name ASC, t.id DESC LIMIT 0, 12",
        "file": "/stgfoodtrucks/lib/traits/database.php",
        "line": "43"
    },
    {
        "result": "log",
        "message": "Query ran: SELECT id, name, slug, description, status, sort_order FROM truck_categories WHERE status = 'active' ORDER BY sort_order ASC, name ASC, id ASC",
        "file": "/stgfoodtrucks/lib/traits/database.php",
        "line": "43"
    }
]
[]